# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.

X11_KEYSYM_MAP = {
    0xffe1: {'char': None, 'xkey_name': 'Shift_L'},
    0xffe2: {'char': None, 'xkey_name': 'Shift_R'},
    0xffe3: {'char': None, 'xkey_name': 'Control_L'},
    0xffe4: {'char': None, 'xkey_name': 'Control_R'},
    0xffe5: {'char': None, 'xkey_name': 'Caps_Lock'},
    0xffe9: {'char': None, 'xkey_name': 'Alt_L'},
    0xffea: {'char': None, 'xkey_name': 'Alt_R'},
    0xffe7: {'char': None, 'xkey_name': 'Meta_L'},
    0xffe8: {'char': None, 'xkey_name': 'Meta_R'},
    0xffeb: {'char': None, 'xkey_name': 'Super_L'},
    0xffec: {'char': None, 'xkey_name': 'Super_R'},
    0xfe03: {'char': None, 'xkey_name': 'ISO_Level3_Shift'},
    0xff7f: {'char': None, 'xkey_name': 'Num_Lock'},
    0x0020: {'char': ' ', 'xkey_name': 'space'},
    0x0021: {'char': '!', 'xkey_name': 'exclam'},
    0x0022: {'char': '"', 'xkey_name': 'quotedbl'},
    0x0023: {'char': '#', 'xkey_name': 'numbersign'},
    0x0024: {'char': '$', 'xkey_name': 'dollar'},
    0x0025: {'char': '%', 'xkey_name': 'percent'},
    0x0026: {'char': '&', 'xkey_name': 'ampersand'},
    0x0027: {'char': "'", 'xkey_name': 'apostrophe'},
    0x0028: {'char': '(', 'xkey_name': 'parenleft'},
    0x0029: {'char': ')', 'xkey_name': 'parenright'},
    0x002a: {'char': '*', 'xkey_name': 'asterisk'},
    0x002b: {'char': '+', 'xkey_name': 'plus'},
    0x002c: {'char': ',', 'xkey_name': 'comma'},
    0x002d: {'char': '-', 'xkey_name': 'minus'},
    0x002e: {'char': '.', 'xkey_name': 'period'},
    0x002f: {'char': '/', 'xkey_name': 'slash'},
    0x0030: {'char': '0', 'xkey_name': '0'},
    0x0031: {'char': '1', 'xkey_name': '1'},
    0x0032: {'char': '2', 'xkey_name': '2'},
    0x0033: {'char': '3', 'xkey_name': '3'},
    0x0034: {'char': '4', 'xkey_name': '4'},
    0x0035: {'char': '5', 'xkey_name': '5'},
    0x0036: {'char': '6', 'xkey_name': '6'},
    0x0037: {'char': '7', 'xkey_name': '7'},
    0x0038: {'char': '8', 'xkey_name': '8'},
    0x0039: {'char': '9', 'xkey_name': '9'},
    0x003a: {'char': ':', 'xkey_name': 'colon'},
    0x003b: {'char': ';', 'xkey_name': 'semicolon'},
    0x003c: {'char': '<', 'xkey_name': 'less'},
    0x003d: {'char': '=', 'xkey_name': 'equal'},
    0x003e: {'char': '>', 'xkey_name': 'greater'},
    0x003f: {'char': '?', 'xkey_name': 'question'},
    0x0040: {'char': '@', 'xkey_name': 'at'},
    0x0041: {'char': 'A', 'xkey_name': 'A'},
    0x0042: {'char': 'B', 'xkey_name': 'B'},
    0x0043: {'char': 'C', 'xkey_name': 'C'},
    0x0044: {'char': 'D', 'xkey_name': 'D'},
    0x0045: {'char': 'E', 'xkey_name': 'E'},
    0x0046: {'char': 'F', 'xkey_name': 'F'},
    0x0047: {'char': 'G', 'xkey_name': 'G'},
    0x0048: {'char': 'H', 'xkey_name': 'H'},
    0x0049: {'char': 'I', 'xkey_name': 'I'},
    0x004a: {'char': 'J', 'xkey_name': 'J'},
    0x004b: {'char': 'K', 'xkey_name': 'K'},
    0x004c: {'char': 'L', 'xkey_name': 'L'},
    0x004d: {'char': 'M', 'xkey_name': 'M'},
    0x004e: {'char': 'N', 'xkey_name': 'N'},
    0x004f: {'char': 'O', 'xkey_name': 'O'},
    0x0050: {'char': 'P', 'xkey_name': 'P'},
    0x0051: {'char': 'Q', 'xkey_name': 'Q'},
    0x0052: {'char': 'R', 'xkey_name': 'R'},
    0x0053: {'char': 'S', 'xkey_name': 'S'},
    0x0054: {'char': 'T', 'xkey_name': 'T'},
    0x0055: {'char': 'U', 'xkey_name': 'U'},
    0x0056: {'char': 'V', 'xkey_name': 'V'},
    0x0057: {'char': 'W', 'xkey_name': 'W'},
    0x0058: {'char': 'X', 'xkey_name': 'X'},
    0x0059: {'char': 'Y', 'xkey_name': 'Y'},
    0x005a: {'char': 'Z', 'xkey_name': 'Z'},
    0x005b: {'char': '[', 'xkey_name': 'bracketleft'},
    0x005c: {'char': '\\', 'xkey_name': 'backslash'},
    0x005d: {'char': ']', 'xkey_name': 'bracketright'},
    0x005e: {'char': '^', 'xkey_name': 'asciicircum'},
    0x005f: {'char': '_', 'xkey_name': 'underscore'},
    0x0060: {'char': '`', 'xkey_name': 'grave'},
    0x0061: {'char': 'a', 'xkey_name': 'a'},
    0x0062: {'char': 'b', 'xkey_name': 'b'},
    0x0063: {'char': 'c', 'xkey_name': 'c'},
    0x0064: {'char': 'd', 'xkey_name': 'd'},
    0x0065: {'char': 'e', 'xkey_name': 'e'},
    0x0066: {'char': 'f', 'xkey_name': 'f'},
    0x0067: {'char': 'g', 'xkey_name': 'g'},
    0x0068: {'char': 'h', 'xkey_name': 'h'},
    0x0069: {'char': 'i', 'xkey_name': 'i'},
    0x006a: {'char': 'j', 'xkey_name': 'j'},
    0x006b: {'char': 'k', 'xkey_name': 'k'},
    0x006c: {'char': 'l', 'xkey_name': 'l'},
    0x006d: {'char': 'm', 'xkey_name': 'm'},
    0x006e: {'char': 'n', 'xkey_name': 'n'},
    0x006f: {'char': 'o', 'xkey_name': 'o'},
    0x0070: {'char': 'p', 'xkey_name': 'p'},
    0x0071: {'char': 'q', 'xkey_name': 'q'},
    0x0072: {'char': 'r', 'xkey_name': 'r'},
    0x0073: {'char': 's', 'xkey_name': 's'},
    0x0074: {'char': 't', 'xkey_name': 't'},
    0x0075: {'char': 'u', 'xkey_name': 'u'},
    0x0076: {'char': 'v', 'xkey_name': 'v'},
    0x0077: {'char': 'w', 'xkey_name': 'w'},
    0x0078: {'char': 'x', 'xkey_name': 'x'},
    0x0079: {'char': 'y', 'xkey_name': 'y'},
    0x007a: {'char': 'z', 'xkey_name': 'z'},
    0x007b: {'char': '{', 'xkey_name': 'braceleft'},
    0x007c: {'char': '|', 'xkey_name': 'bar'},
    0x007d: {'char': '}', 'xkey_name': 'braceright'},
    0x007e: {'char': '~', 'xkey_name': 'asciitilde'},
    0x00a0: {'char': '\u00a0', 'xkey_name': 'nobreakspace'},
    0x00a1: {'char': '¡', 'xkey_name': 'exclamdown'},
    0x00a2: {'char': '¢', 'xkey_name': 'cent'},
    0x00a3: {'char': '£', 'xkey_name': 'sterling'},
    0x00a4: {'char': '¤', 'xkey_name': 'currency'},
    0x00a5: {'char': '¥', 'xkey_name': 'yen'},
    0x00a6: {'char': '¦', 'xkey_name': 'brokenbar'},
    0x00a7: {'char': '§', 'xkey_name': 'section'},
    0x00a8: {'char': '¨', 'xkey_name': 'diaeresis'},
    0x00a9: {'char': '©', 'xkey_name': 'copyright'},
    0x00aa: {'char': 'ª', 'xkey_name': 'ordfeminine'},
    0x00ab: {'char': '«', 'xkey_name': 'guillemotleft'},
    0x00ac: {'char': '¬', 'xkey_name': 'notsign'},
    0x00ad: {'char': '\u00ad', 'xkey_name': 'hyphen'},
    0x00ae: {'char': '®', 'xkey_name': 'registered'},
    0x00af: {'char': '¯', 'xkey_name': 'macron'},
    0x00b0: {'char': '°', 'xkey_name': 'degree'},
    0x00b1: {'char': '±', 'xkey_name': 'plusminus'},
    0x00b2: {'char': '²', 'xkey_name': 'twosuperior'},
    0x00b3: {'char': '³', 'xkey_name': 'threesuperior'},
    0x00b4: {'char': '´', 'xkey_name': 'acute'},
    0x00b5: {'char': 'µ', 'xkey_name': 'mu'},
    0x00b6: {'char': '¶', 'xkey_name': 'paragraph'},
    0x00b7: {'char': '·', 'xkey_name': 'periodcentered'},
    0x00b8: {'char': '¸', 'xkey_name': 'cedilla'},
    0x00b9: {'char': '¹', 'xkey_name': 'onesuperior'},
    0x00ba: {'char': 'º', 'xkey_name': 'masculine'},
    0x00bb: {'char': '»', 'xkey_name': 'guillemotright'},
    0x00bc: {'char': '¼', 'xkey_name': 'onequarter'},
    0x00bd: {'char': '½', 'xkey_name': 'onehalf'},
    0x00be: {'char': '¾', 'xkey_name': 'threequarters'},
    0x00bf: {'char': '¿', 'xkey_name': 'questiondown'},
    0x00c0: {'char': 'À', 'xkey_name': 'Agrave'},
    0x00c1: {'char': 'Á', 'xkey_name': 'Aacute'},
    0x00c2: {'char': 'Â', 'xkey_name': 'Acircumflex'},
    0x00c3: {'char': 'Ã', 'xkey_name': 'Atilde'},
    0x00c4: {'char': 'Ä', 'xkey_name': 'Adiaeresis'},
    0x00c5: {'char': 'Å', 'xkey_name': 'Aring'},
    0x00c6: {'char': 'Æ', 'xkey_name': 'AE'},
    0x00c7: {'char': 'Ç', 'xkey_name': 'Ccedilla'},
    0x00c8: {'char': 'È', 'xkey_name': 'Egrave'},
    0x00c9: {'char': 'É', 'xkey_name': 'Eacute'},
    0x00ca: {'char': 'Ê', 'xkey_name': 'Ecircumflex'},
    0x00cb: {'char': 'Ë', 'xkey_name': 'Ediaeresis'},
    0x00cc: {'char': 'Ì', 'xkey_name': 'Igrave'},
    0x00cd: {'char': 'Í', 'xkey_name': 'Iacute'},
    0x00ce: {'char': 'Î', 'xkey_name': 'Icircumflex'},
    0x00cf: {'char': 'Ï', 'xkey_name': 'Idiaeresis'},
    0x00d0: {'char': 'Ð', 'xkey_name': 'ETH'},
    0x00d1: {'char': 'Ñ', 'xkey_name': 'Ntilde'},
    0x00d2: {'char': 'Ò', 'xkey_name': 'Ograve'},
    0x00d3: {'char': 'Ó', 'xkey_name': 'Oacute'},
    0x00d4: {'char': 'Ô', 'xkey_name': 'Ocircumflex'},
    0x00d5: {'char': 'Õ', 'xkey_name': 'Otilde'},
    0x00d6: {'char': 'Ö', 'xkey_name': 'Odiaeresis'},
    0x00d7: {'char': '×', 'xkey_name': 'multiply'},
    0x00d8: {'char': 'Ø', 'xkey_name': 'Oslash'},
    0x00d9: {'char': 'Ù', 'xkey_name': 'Ugrave'},
    0x00da: {'char': 'Ú', 'xkey_name': 'Uacute'},
    0x00db: {'char': 'Û', 'xkey_name': 'Ucircumflex'},
    0x00dc: {'char': 'Ü', 'xkey_name': 'Udiaeresis'},
    0x00dd: {'char': 'Ý', 'xkey_name': 'Yacute'},
    0x00de: {'char': 'Þ', 'xkey_name': 'THORN'},
    0x00df: {'char': 'ß', 'xkey_name': 'ssharp'},
    0x00e0: {'char': 'à', 'xkey_name': 'agrave'},
    0x00e1: {'char': 'á', 'xkey_name': 'aacute'},
    0x00e2: {'char': 'â', 'xkey_name': 'acircumflex'},
    0x00e3: {'char': 'ã', 'xkey_name': 'atilde'},
    0x00e4: {'char': 'ä', 'xkey_name': 'adiaeresis'},
    0x00e5: {'char': 'å', 'xkey_name': 'aring'},
    0x00e6: {'char': 'æ', 'xkey_name': 'ae'},
    0x00e7: {'char': 'ç', 'xkey_name': 'ccedilla'},
    0x00e8: {'char': 'è', 'xkey_name': 'egrave'},
    0x00e9: {'char': 'é', 'xkey_name': 'eacute'},
    0x00ea: {'char': 'ê', 'xkey_name': 'ecircumflex'},
    0x00eb: {'char': 'ë', 'xkey_name': 'ediaeresis'},
    0x00ec: {'char': 'ì', 'xkey_name': 'igrave'},
    0x00ed: {'char': 'í', 'xkey_name': 'iacute'},
    0x00ee: {'char': 'î', 'xkey_name': 'icircumflex'},
    0x00ef: {'char': 'ï', 'xkey_name': 'idiaeresis'},
    0x00f0: {'char': 'ð', 'xkey_name': 'eth'},
    0x00f1: {'char': 'ñ', 'xkey_name': 'ntilde'},
    0x00f2: {'char': 'ò', 'xkey_name': 'ograve'},
    0x00f3: {'char': 'ó', 'xkey_name': 'oacute'},
    0x00f4: {'char': 'ô', 'xkey_name': 'ocircumflex'},
    0x00f5: {'char': 'õ', 'xkey_name': 'otilde'},
    0x00f6: {'char': 'ö', 'xkey_name': 'odiaeresis'},
    0x00f7: {'char': '÷', 'xkey_name': 'division'},
    0x00f8: {'char': 'ø', 'xkey_name': 'oslash'},
    0x00f9: {'char': 'ù', 'xkey_name': 'ugrave'},
    0x00fa: {'char': 'ú', 'xkey_name': 'uacute'},
    0x00fb: {'char': 'û', 'xkey_name': 'ucircumflex'},
    0x00fc: {'char': 'ü', 'xkey_name': 'udiaeresis'},
    0x00fd: {'char': 'ý', 'xkey_name': 'yacute'},
    0x00fe: {'char': 'þ', 'xkey_name': 'thorn'},
    0x00ff: {'char': 'ÿ', 'xkey_name': 'ydiaeresis'},
    0x01a1: {'char': 'Ą', 'xkey_name': 'Aogonek'},
    0x01a2: {'char': '˘', 'xkey_name': 'breve'},
    0x01a3: {'char': 'Ł', 'xkey_name': 'Lstroke'},
    0x01a5: {'char': 'Ľ', 'xkey_name': 'Lcaron'},
    0x01a6: {'char': 'Ś', 'xkey_name': 'Sacute'},
    0x01a9: {'char': 'Š', 'xkey_name': 'Scaron'},
    0x01aa: {'char': 'Ş', 'xkey_name': 'Scedilla'},
    0x01ab: {'char': 'Ť', 'xkey_name': 'Tcaron'},
    0x01ac: {'char': 'Ź', 'xkey_name': 'Zacute'},
    0x01ae: {'char': 'Ž', 'xkey_name': 'Zcaron'},
    0x01af: {'char': 'Ż', 'xkey_name': 'Zabovedot'},
    0x01b1: {'char': 'ą', 'xkey_name': 'aogonek'},
    0x01b2: {'char': '˛', 'xkey_name': 'ogonek'},
    0x01b3: {'char': 'ł', 'xkey_name': 'lstroke'},
    0x01b5: {'char': 'ľ', 'xkey_name': 'lcaron'},
    0x01b6: {'char': 'ś', 'xkey_name': 'sacute'},
    0x01b7: {'char': 'ˇ', 'xkey_name': 'caron'},
    0x01b9: {'char': 'š', 'xkey_name': 'scaron'},
    0x01ba: {'char': 'ş', 'xkey_name': 'scedilla'},
    0x01bb: {'char': 'ť', 'xkey_name': 'tcaron'},
    0x01bc: {'char': 'ź', 'xkey_name': 'zacute'},
    0x01bd: {'char': '˝', 'xkey_name': 'doubleacute'},
    0x01be: {'char': 'ž', 'xkey_name': 'zcaron'},
    0x01bf: {'char': 'ż', 'xkey_name': 'zabovedot'},
    0x01c0: {'char': 'Ŕ', 'xkey_name': 'Racute'},
    0x01c3: {'char': 'Ă', 'xkey_name': 'Abreve'},
    0x01c5: {'char': 'Ĺ', 'xkey_name': 'Lacute'},
    0x01c6: {'char': 'Ć', 'xkey_name': 'Cacute'},
    0x01c8: {'char': 'Č', 'xkey_name': 'Ccaron'},
    0x01ca: {'char': 'Ę', 'xkey_name': 'Eogonek'},
    0x01cc: {'char': 'Ě', 'xkey_name': 'Ecaron'},
    0x01cf: {'char': 'Ď', 'xkey_name': 'Dcaron'},
    0x01d0: {'char': 'Đ', 'xkey_name': 'Dstroke'},
    0x01d1: {'char': 'Ń', 'xkey_name': 'Nacute'},
    0x01d2: {'char': 'Ň', 'xkey_name': 'Ncaron'},
    0x01d5: {'char': 'Ő', 'xkey_name': 'Odoubleacute'},
    0x01d8: {'char': 'Ř', 'xkey_name': 'Rcaron'},
    0x01d9: {'char': 'Ů', 'xkey_name': 'Uring'},
    0x01db: {'char': 'Ű', 'xkey_name': 'Udoubleacute'},
    0x01de: {'char': 'Ţ', 'xkey_name': 'Tcedilla'},
    0x01e0: {'char': 'ŕ', 'xkey_name': 'racute'},
    0x01e3: {'char': 'ă', 'xkey_name': 'abreve'},
    0x01e5: {'char': 'ĺ', 'xkey_name': 'lacute'},
    0x01e6: {'char': 'ć', 'xkey_name': 'cacute'},
    0x01e8: {'char': 'č', 'xkey_name': 'ccaron'},
    0x01ea: {'char': 'ę', 'xkey_name': 'eogonek'},
    0x01ec: {'char': 'ě', 'xkey_name': 'ecaron'},
    0x01ef: {'char': 'ď', 'xkey_name': 'dcaron'},
    0x01f0: {'char': 'đ', 'xkey_name': 'dstroke'},
    0x01f1: {'char': 'ń', 'xkey_name': 'nacute'},
    0x01f2: {'char': 'ň', 'xkey_name': 'ncaron'},
    0x01f5: {'char': 'ő', 'xkey_name': 'odoubleacute'},
    0x01f8: {'char': 'ř', 'xkey_name': 'rcaron'},
    0x01f9: {'char': 'ů', 'xkey_name': 'uring'},
    0x01fb: {'char': 'ű', 'xkey_name': 'udoubleacute'},
    0x01fe: {'char': 'ţ', 'xkey_name': 'tcedilla'},
    0x01ff: {'char': '˙', 'xkey_name': 'abovedot'},
    0x02a1: {'char': 'Ħ', 'xkey_name': 'Hstroke'},
    0x02a6: {'char': 'Ĥ', 'xkey_name': 'Hcircumflex'},
    0x02a9: {'char': 'İ', 'xkey_name': 'Iabovedot'},
    0x02ab: {'char': 'Ğ', 'xkey_name': 'Gbreve'},
    0x02ac: {'char': 'Ĵ', 'xkey_name': 'Jcircumflex'},
    0x02b1: {'char': 'ħ', 'xkey_name': 'hstroke'},
    0x02b6: {'char': 'ĥ', 'xkey_name': 'hcircumflex'},
    0x02b9: {'char': 'ı', 'xkey_name': 'idotless'},
    0x02bb: {'char': 'ğ', 'xkey_name': 'gbreve'},
    0x02bc: {'char': 'ĵ', 'xkey_name': 'jcircumflex'},
    0x02c5: {'char': 'Ċ', 'xkey_name': 'Cabovedot'},
    0x02c6: {'char': 'Ĉ', 'xkey_name': 'Ccircumflex'},
    0x02d5: {'char': 'Ġ', 'xkey_name': 'Gabovedot'},
    0x02d8: {'char': 'Ĝ', 'xkey_name': 'Gcircumflex'},
    0x02dd: {'char': 'Ŭ', 'xkey_name': 'Ubreve'},
    0x02de: {'char': 'Ŝ', 'xkey_name': 'Scircumflex'},
    0x02e5: {'char': 'ċ', 'xkey_name': 'cabovedot'},
    0x02e6: {'char': 'ĉ', 'xkey_name': 'ccircumflex'},
    0x02f5: {'char': 'ġ', 'xkey_name': 'gabovedot'},
    0x02f8: {'char': 'ĝ', 'xkey_name': 'gcircumflex'},
    0x02fd: {'char': 'ŭ', 'xkey_name': 'ubreve'},
    0x02fe: {'char': 'ŝ', 'xkey_name': 'scircumflex'},
    0x03a2: {'char': 'ĸ', 'xkey_name': 'kra'},
    0x03a3: {'char': 'Ŗ', 'xkey_name': 'Rcedilla'},
    0x03a5: {'char': 'Ĩ', 'xkey_name': 'Itilde'},
    0x03a6: {'char': 'Ļ', 'xkey_name': 'Lcedilla'},
    0x03aa: {'char': 'Ē', 'xkey_name': 'Emacron'},
    0x03ab: {'char': 'Ģ', 'xkey_name': 'Gcedilla'},
    0x03ac: {'char': 'Ŧ', 'xkey_name': 'Tslash'},
    0x03b3: {'char': 'ŗ', 'xkey_name': 'rcedilla'},
    0x03b5: {'char': 'ĩ', 'xkey_name': 'itilde'},
    0x03b6: {'char': 'ļ', 'xkey_name': 'lcedilla'},
    0x03ba: {'char': 'ē', 'xkey_name': 'emacron'},
    0x03bb: {'char': 'ģ', 'xkey_name': 'gcedilla'},
    0x03bc: {'char': 'ŧ', 'xkey_name': 'tslash'},
    0x03bd: {'char': 'Ŋ', 'xkey_name': 'ENG'},
    0x03bf: {'char': 'ŋ', 'xkey_name': 'eng'},
    0x03c0: {'char': 'Ā', 'xkey_name': 'Amacron'},
    0x03c7: {'char': 'Į', 'xkey_name': 'Iogonek'},
    0x03cc: {'char': 'Ė', 'xkey_name': 'Eabovedot'},
    0x03cf: {'char': 'Ī', 'xkey_name': 'Imacron'},
    0x03d1: {'char': 'Ņ', 'xkey_name': 'Ncedilla'},
    0x03d2: {'char': 'Ō', 'xkey_name': 'Omacron'},
    0x03d3: {'char': 'Ķ', 'xkey_name': 'Kcedilla'},
    0x03d9: {'char': 'Ų', 'xkey_name': 'Uogonek'},
    0x03dd: {'char': 'Ũ', 'xkey_name': 'Utilde'},
    0x03de: {'char': 'Ū', 'xkey_name': 'Umacron'},
    0x03e0: {'char': 'ā', 'xkey_name': 'amacron'},
    0x03e7: {'char': 'į', 'xkey_name': 'iogonek'},
    0x03ec: {'char': 'ė', 'xkey_name': 'eabovedot'},
    0x03ef: {'char': 'ī', 'xkey_name': 'imacron'},
    0x03f1: {'char': 'ņ', 'xkey_name': 'ncedilla'},
    0x03f2: {'char': 'ō', 'xkey_name': 'omacron'},
    0x03f3: {'char': 'ķ', 'xkey_name': 'kcedilla'},
    0x03f9: {'char': 'ų', 'xkey_name': 'uogonek'},
    0x03fd: {'char': 'ũ', 'xkey_name': 'utilde'},
    0x03fe: {'char': 'ū', 'xkey_name': 'umacron'},
    0x1000174: {'char': 'Ŵ', 'xkey_name': 'Wcircumflex'},
    0x1000175: {'char': 'ŵ', 'xkey_name': 'wcircumflex'},
    0x1000176: {'char': 'Ŷ', 'xkey_name': 'Ycircumflex'},
    0x1000177: {'char': 'ŷ', 'xkey_name': 'ycircumflex'},
    0x1001e02: {'char': 'Ḃ', 'xkey_name': 'Babovedot'},
    0x1001e03: {'char': 'ḃ', 'xkey_name': 'babovedot'},
    0x1001e0a: {'char': 'Ḋ', 'xkey_name': 'Dabovedot'},
    0x1001e0b: {'char': 'ḋ', 'xkey_name': 'dabovedot'},
    0x1001e1e: {'char': 'Ḟ', 'xkey_name': 'Fabovedot'},
    0x1001e1f: {'char': 'ḟ', 'xkey_name': 'fabovedot'},
    0x1001e40: {'char': 'Ṁ', 'xkey_name': 'Mabovedot'},
    0x1001e41: {'char': 'ṁ', 'xkey_name': 'mabovedot'},
    0x1001e56: {'char': 'Ṗ', 'xkey_name': 'Pabovedot'},
    0x1001e57: {'char': 'ṗ', 'xkey_name': 'pabovedot'},
    0x1001e60: {'char': 'Ṡ', 'xkey_name': 'Sabovedot'},
    0x1001e61: {'char': 'ṡ', 'xkey_name': 'sabovedot'},
    0x1001e6a: {'char': 'Ṫ', 'xkey_name': 'Tabovedot'},
    0x1001e6b: {'char': 'ṫ', 'xkey_name': 'tabovedot'},
    0x1001e80: {'char': 'Ẁ', 'xkey_name': 'Wgrave'},
    0x1001e81: {'char': 'ẁ', 'xkey_name': 'wgrave'},
    0x1001e82: {'char': 'Ẃ', 'xkey_name': 'Wacute'},
    0x1001e83: {'char': 'ẃ', 'xkey_name': 'wacute'},
    0x1001e84: {'char': 'Ẅ', 'xkey_name': 'Wdiaeresis'},
    0x1001e85: {'char': 'ẅ', 'xkey_name': 'wdiaeresis'},
    0x1001ef2: {'char': 'Ỳ', 'xkey_name': 'Ygrave'},
    0x1001ef3: {'char': 'ỳ', 'xkey_name': 'ygrave'},
    0x13bc: {'char': 'Œ', 'xkey_name': 'OE'},
    0x13bd: {'char': 'œ', 'xkey_name': 'oe'},
    0x13be: {'char': 'Ÿ', 'xkey_name': 'Ydiaeresis'},
    0x047e: {'char': '‾', 'xkey_name': 'overline'},
    0x04a1: {'char': '。', 'xkey_name': 'kana_fullstop'},
    0x04a2: {'char': '「', 'xkey_name': 'kana_openingbracket'},
    0x04a3: {'char': '」', 'xkey_name': 'kana_closingbracket'},
    0x04a4: {'char': '、', 'xkey_name': 'kana_comma'},
    0x04a5: {'char': '・', 'xkey_name': 'kana_conjunctive'},
    0x04a6: {'char': 'ヲ', 'xkey_name': 'kana_WO'},
    0x04a7: {'char': 'ァ', 'xkey_name': 'kana_a'},
    0x04a8: {'char': 'ィ', 'xkey_name': 'kana_i'},
    0x04a9: {'char': 'ゥ', 'xkey_name': 'kana_u'},
    0x04aa: {'char': 'ェ', 'xkey_name': 'kana_e'},
    0x04ab: {'char': 'ォ', 'xkey_name': 'kana_o'},
    0x04ac: {'char': 'ャ', 'xkey_name': 'kana_ya'},
    0x04ad: {'char': 'ュ', 'xkey_name': 'kana_yu'},
    0x04ae: {'char': 'ョ', 'xkey_name': 'kana_yo'},
    0x04af: {'char': 'ッ', 'xkey_name': 'kana_tsu'},
    0x04b0: {'char': 'ー', 'xkey_name': 'prolongedsound'},
    0x04b1: {'char': 'ア', 'xkey_name': 'kana_A'},
    0x04b2: {'char': 'イ', 'xkey_name': 'kana_I'},
    0x04b3: {'char': 'ウ', 'xkey_name': 'kana_U'},
    0x04b4: {'char': 'エ', 'xkey_name': 'kana_E'},
    0x04b5: {'char': 'オ', 'xkey_name': 'kana_O'},
    0x04b6: {'char': 'カ', 'xkey_name': 'kana_KA'},
    0x04b7: {'char': 'キ', 'xkey_name': 'kana_KI'},
    0x04b8: {'char': 'ク', 'xkey_name': 'kana_KU'},
    0x04b9: {'char': 'ケ', 'xkey_name': 'kana_KE'},
    0x04ba: {'char': 'コ', 'xkey_name': 'kana_KO'},
    0x04bb: {'char': 'サ', 'xkey_name': 'kana_SA'},
    0x04bc: {'char': 'シ', 'xkey_name': 'kana_SHI'},
    0x04bd: {'char': 'ス', 'xkey_name': 'kana_SU'},
    0x04be: {'char': 'セ', 'xkey_name': 'kana_SE'},
    0x04bf: {'char': 'ソ', 'xkey_name': 'kana_SO'},
    0x04c0: {'char': 'タ', 'xkey_name': 'kana_TA'},
    0x04c1: {'char': 'チ', 'xkey_name': 'kana_CHI'},
    0x04c2: {'char': 'ツ', 'xkey_name': 'kana_TSU'},
    0x04c3: {'char': 'テ', 'xkey_name': 'kana_TE'},
    0x04c4: {'char': 'ト', 'xkey_name': 'kana_TO'},
    0x04c5: {'char': 'ナ', 'xkey_name': 'kana_NA'},
    0x04c6: {'char': 'ニ', 'xkey_name': 'kana_NI'},
    0x04c7: {'char': 'ヌ', 'xkey_name': 'kana_NU'},
    0x04c8: {'char': 'ネ', 'xkey_name': 'kana_NE'},
    0x04c9: {'char': 'ノ', 'xkey_name': 'kana_NO'},
    0x04ca: {'char': 'ハ', 'xkey_name': 'kana_HA'},
    0x04cb: {'char': 'ヒ', 'xkey_name': 'kana_HI'},
    0x04cc: {'char': 'フ', 'xkey_name': 'kana_FU'},
    0x04cd: {'char': 'ヘ', 'xkey_name': 'kana_HE'},
    0x04ce: {'char': 'ホ', 'xkey_name': 'kana_HO'},
    0x04cf: {'char': 'マ', 'xkey_name': 'kana_MA'},
    0x04d0: {'char': 'ミ', 'xkey_name': 'kana_MI'},
    0x04d1: {'char': 'ム', 'xkey_name': 'kana_MU'},
    0x04d2: {'char': 'メ', 'xkey_name': 'kana_ME'},
    0x04d3: {'char': 'モ', 'xkey_name': 'kana_MO'},
    0x04d4: {'char': 'ヤ', 'xkey_name': 'kana_YA'},
    0x04d5: {'char': 'ユ', 'xkey_name': 'kana_YU'},
    0x04d6: {'char': 'ヨ', 'xkey_name': 'kana_YO'},
    0x04d7: {'char': 'ラ', 'xkey_name': 'kana_RA'},
    0x04d8: {'char': 'リ', 'xkey_name': 'kana_RI'},
    0x04d9: {'char': 'ル', 'xkey_name': 'kana_RU'},
    0x04da: {'char': 'レ', 'xkey_name': 'kana_RE'},
    0x04db: {'char': 'ロ', 'xkey_name': 'kana_RO'},
    0x04dc: {'char': 'ワ', 'xkey_name': 'kana_WA'},
    0x04dd: {'char': 'ン', 'xkey_name': 'kana_N'},
    0x04de: {'char': '゛', 'xkey_name': 'voicedsound'},
    0x04df: {'char': '゜', 'xkey_name': 'semivoicedsound'},
    0x10006f0: {'char': '۰', 'xkey_name': 'Farsi_0'},
    0x10006f1: {'char': '۱', 'xkey_name': 'Farsi_1'},
    0x10006f2: {'char': '۲', 'xkey_name': 'Farsi_2'},
    0x10006f3: {'char': '۳', 'xkey_name': 'Farsi_3'},
    0x10006f4: {'char': '۴', 'xkey_name': 'Farsi_4'},
    0x10006f5: {'char': '۵', 'xkey_name': 'Farsi_5'},
    0x10006f6: {'char': '۶', 'xkey_name': 'Farsi_6'},
    0x10006f7: {'char': '۷', 'xkey_name': 'Farsi_7'},
    0x10006f8: {'char': '۸', 'xkey_name': 'Farsi_8'},
    0x10006f9: {'char': '۹', 'xkey_name': 'Farsi_9'},
    0x100066a: {'char': '٪', 'xkey_name': 'Arabic_percent'},
    0x1000670: {'char': 'ٰ', 'xkey_name': 'Arabic_superscript_alef'},
    0x1000679: {'char': 'ٹ', 'xkey_name': 'Arabic_tteh'},
    0x100067e: {'char': 'پ', 'xkey_name': 'Arabic_peh'},
    0x1000686: {'char': 'چ', 'xkey_name': 'Arabic_tcheh'},
    0x1000688: {'char': 'ڈ', 'xkey_name': 'Arabic_ddal'},
    0x1000691: {'char': 'ڑ', 'xkey_name': 'Arabic_rreh'},
    0x05ac: {'char': '،', 'xkey_name': 'Arabic_comma'},
    0x10006d4: {'char': '۔', 'xkey_name': 'Arabic_fullstop'},
    0x1000660: {'char': '٠', 'xkey_name': 'Arabic_0'},
    0x1000661: {'char': '١', 'xkey_name': 'Arabic_1'},
    0x1000662: {'char': '٢', 'xkey_name': 'Arabic_2'},
    0x1000663: {'char': '٣', 'xkey_name': 'Arabic_3'},
    0x1000664: {'char': '٤', 'xkey_name': 'Arabic_4'},
    0x1000665: {'char': '٥', 'xkey_name': 'Arabic_5'},
    0x1000666: {'char': '٦', 'xkey_name': 'Arabic_6'},
    0x1000667: {'char': '٧', 'xkey_name': 'Arabic_7'},
    0x1000668: {'char': '٨', 'xkey_name': 'Arabic_8'},
    0x1000669: {'char': '٩', 'xkey_name': 'Arabic_9'},
    0x05bb: {'char': '؛', 'xkey_name': 'Arabic_semicolon'},
    0x05bf: {'char': '؟', 'xkey_name': 'Arabic_question_mark'},
    0x05c1: {'char': 'ء', 'xkey_name': 'Arabic_hamza'},
    0x05c2: {'char': 'آ', 'xkey_name': 'Arabic_maddaonalef'},
    0x05c3: {'char': 'أ', 'xkey_name': 'Arabic_hamzaonalef'},
    0x05c4: {'char': 'ؤ', 'xkey_name': 'Arabic_hamzaonwaw'},
    0x05c5: {'char': 'إ', 'xkey_name': 'Arabic_hamzaunderalef'},
    0x05c6: {'char': 'ئ', 'xkey_name': 'Arabic_hamzaonyeh'},
    0x05c7: {'char': 'ا', 'xkey_name': 'Arabic_alef'},
    0x05c8: {'char': 'ب', 'xkey_name': 'Arabic_beh'},
    0x05c9: {'char': 'ة', 'xkey_name': 'Arabic_tehmarbuta'},
    0x05ca: {'char': 'ت', 'xkey_name': 'Arabic_teh'},
    0x05cb: {'char': 'ث', 'xkey_name': 'Arabic_theh'},
    0x05cc: {'char': 'ج', 'xkey_name': 'Arabic_jeem'},
    0x05cd: {'char': 'ح', 'xkey_name': 'Arabic_hah'},
    0x05ce: {'char': 'خ', 'xkey_name': 'Arabic_khah'},
    0x05cf: {'char': 'د', 'xkey_name': 'Arabic_dal'},
    0x05d0: {'char': 'ذ', 'xkey_name': 'Arabic_thal'},
    0x05d1: {'char': 'ر', 'xkey_name': 'Arabic_ra'},
    0x05d2: {'char': 'ز', 'xkey_name': 'Arabic_zain'},
    0x05d3: {'char': 'س', 'xkey_name': 'Arabic_seen'},
    0x05d4: {'char': 'ش', 'xkey_name': 'Arabic_sheen'},
    0x05d5: {'char': 'ص', 'xkey_name': 'Arabic_sad'},
    0x05d6: {'char': 'ض', 'xkey_name': 'Arabic_dad'},
    0x05d7: {'char': 'ط', 'xkey_name': 'Arabic_tah'},
    0x05d8: {'char': 'ظ', 'xkey_name': 'Arabic_zah'},
    0x05d9: {'char': 'ع', 'xkey_name': 'Arabic_ain'},
    0x05da: {'char': 'غ', 'xkey_name': 'Arabic_ghain'},
    0x05e0: {'char': 'ـ', 'xkey_name': 'Arabic_tatweel'},
    0x05e1: {'char': 'ف', 'xkey_name': 'Arabic_feh'},
    0x05e2: {'char': 'ق', 'xkey_name': 'Arabic_qaf'},
    0x05e3: {'char': 'ك', 'xkey_name': 'Arabic_kaf'},
    0x05e4: {'char': 'ل', 'xkey_name': 'Arabic_lam'},
    0x05e5: {'char': 'م', 'xkey_name': 'Arabic_meem'},
    0x05e6: {'char': 'ن', 'xkey_name': 'Arabic_noon'},
    0x05e7: {'char': 'ه', 'xkey_name': 'Arabic_ha'},
    0x05e8: {'char': 'و', 'xkey_name': 'Arabic_waw'},
    0x05e9: {'char': 'ى', 'xkey_name': 'Arabic_alefmaksura'},
    0x05ea: {'char': 'ي', 'xkey_name': 'Arabic_yeh'},
    0x1000698: {'char': 'ژ', 'xkey_name': 'Arabic_jeh'},
    0x10006a4: {'char': 'ڤ', 'xkey_name': 'Arabic_veh'},
    0x10006a9: {'char': 'ک', 'xkey_name': 'Arabic_keheh'},
    0x10006af: {'char': 'گ', 'xkey_name': 'Arabic_gaf'},
    0x10006ba: {'char': 'ں', 'xkey_name': 'Arabic_noon_ghunna'},
    0x10006be: {'char': 'ھ', 'xkey_name': 'Arabic_heh_doachashmee'},
    0x10006cc: {'char': 'ی', 'xkey_name': 'Farsi_yeh'},
    0x10006d2: {'char': 'ے', 'xkey_name': 'Arabic_yeh_baree'},
    0x10006c1: {'char': 'ہ', 'xkey_name': 'Arabic_heh_goal'},
    0x1000492: {'char': 'Ғ', 'xkey_name': 'Cyrillic_GHE_bar'},
    0x1000493: {'char': 'ғ', 'xkey_name': 'Cyrillic_ghe_bar'},
    0x1000496: {'char': 'Җ', 'xkey_name': 'Cyrillic_ZHE_descender'},
    0x1000497: {'char': 'җ', 'xkey_name': 'Cyrillic_zhe_descender'},
    0x100049a: {'char': 'Қ', 'xkey_name': 'Cyrillic_KA_descender'},
    0x100049b: {'char': 'қ', 'xkey_name': 'Cyrillic_ka_descender'},
    0x100049c: {'char': 'Ҝ', 'xkey_name': 'Cyrillic_KA_vertstroke'},
    0x100049d: {'char': 'ҝ', 'xkey_name': 'Cyrillic_ka_vertstroke'},
    0x10004a2: {'char': 'Ң', 'xkey_name': 'Cyrillic_EN_descender'},
    0x10004a3: {'char': 'ң', 'xkey_name': 'Cyrillic_en_descender'},
    0x10004ae: {'char': 'Ү', 'xkey_name': 'Cyrillic_U_straight'},
    0x10004af: {'char': 'ү', 'xkey_name': 'Cyrillic_u_straight'},
    0x10004b0: {'char': 'Ұ', 'xkey_name': 'Cyrillic_U_straight_bar'},
    0x10004b1: {'char': 'ұ', 'xkey_name': 'Cyrillic_u_straight_bar'},
    0x10004b2: {'char': 'Ҳ', 'xkey_name': 'Cyrillic_HA_descender'},
    0x10004b3: {'char': 'ҳ', 'xkey_name': 'Cyrillic_ha_descender'},
    0x10004b6: {'char': 'Ҷ', 'xkey_name': 'Cyrillic_CHE_descender'},
    0x10004b7: {'char': 'ҷ', 'xkey_name': 'Cyrillic_che_descender'},
    0x10004b8: {'char': 'Ҹ', 'xkey_name': 'Cyrillic_CHE_vertstroke'},
    0x10004b9: {'char': 'ҹ', 'xkey_name': 'Cyrillic_che_vertstroke'},
    0x10004ba: {'char': 'Һ', 'xkey_name': 'Cyrillic_SHHA'},
    0x10004bb: {'char': 'һ', 'xkey_name': 'Cyrillic_shha'},
    0x10004d8: {'char': 'Ә', 'xkey_name': 'Cyrillic_SCHWA'},
    0x10004d9: {'char': 'ә', 'xkey_name': 'Cyrillic_schwa'},
    0x10004e2: {'char': 'Ӣ', 'xkey_name': 'Cyrillic_I_macron'},
    0x10004e3: {'char': 'ӣ', 'xkey_name': 'Cyrillic_i_macron'},
    0x10004e8: {'char': 'Ө', 'xkey_name': 'Cyrillic_O_bar'},
    0x10004e9: {'char': 'ө', 'xkey_name': 'Cyrillic_o_bar'},
    0x10004ee: {'char': 'Ӯ', 'xkey_name': 'Cyrillic_U_macron'},
    0x10004ef: {'char': 'ӯ', 'xkey_name': 'Cyrillic_u_macron'},
    0x06a1: {'char': 'ђ', 'xkey_name': 'Serbian_dje'},
    0x06a2: {'char': 'ѓ', 'xkey_name': 'Macedonia_gje'},
    0x06a3: {'char': 'ё', 'xkey_name': 'Cyrillic_io'},
    0x06a4: {'char': 'є', 'xkey_name': 'Ukrainian_ie'},
    0x06a5: {'char': 'ѕ', 'xkey_name': 'Macedonia_dse'},
    0x06a6: {'char': 'і', 'xkey_name': 'Ukrainian_i'},
    0x06a7: {'char': 'ї', 'xkey_name': 'Ukrainian_yi'},
    0x06a8: {'char': 'ј', 'xkey_name': 'Cyrillic_je'},
    0x06a9: {'char': 'љ', 'xkey_name': 'Cyrillic_lje'},
    0x06aa: {'char': 'њ', 'xkey_name': 'Cyrillic_nje'},
    0x06ab: {'char': 'ћ', 'xkey_name': 'Serbian_tshe'},
    0x06ac: {'char': 'ќ', 'xkey_name': 'Macedonia_kje'},
    0x06ad: {'char': 'ґ', 'xkey_name': 'Ukrainian_ghe_with_upturn'},
    0x06ae: {'char': 'ў', 'xkey_name': 'Byelorussian_shortu'},
    0x06af: {'char': 'џ', 'xkey_name': 'Cyrillic_dzhe'},
    0x06b0: {'char': '№', 'xkey_name': 'numerosign'},
    0x06b1: {'char': 'Ђ', 'xkey_name': 'Serbian_DJE'},
    0x06b2: {'char': 'Ѓ', 'xkey_name': 'Macedonia_GJE'},
    0x06b3: {'char': 'Ё', 'xkey_name': 'Cyrillic_IO'},
    0x06b4: {'char': 'Є', 'xkey_name': 'Ukrainian_IE'},
    0x06b5: {'char': 'Ѕ', 'xkey_name': 'Macedonia_DSE'},
    0x06b6: {'char': 'І', 'xkey_name': 'Ukrainian_I'},
    0x06b7: {'char': 'Ї', 'xkey_name': 'Ukrainian_YI'},
    0x06b8: {'char': 'Ј', 'xkey_name': 'Cyrillic_JE'},
    0x06b9: {'char': 'Љ', 'xkey_name': 'Cyrillic_LJE'},
    0x06ba: {'char': 'Њ', 'xkey_name': 'Cyrillic_NJE'},
    0x06bb: {'char': 'Ћ', 'xkey_name': 'Serbian_TSHE'},
    0x06bc: {'char': 'Ќ', 'xkey_name': 'Macedonia_KJE'},
    0x06bd: {'char': 'Ґ', 'xkey_name': 'Ukrainian_GHE_WITH_UPTURN'},
    0x06be: {'char': 'Ў', 'xkey_name': 'Byelorussian_SHORTU'},
    0x06bf: {'char': 'Џ', 'xkey_name': 'Cyrillic_DZHE'},
    0x06c0: {'char': 'ю', 'xkey_name': 'Cyrillic_yu'},
    0x06c1: {'char': 'а', 'xkey_name': 'Cyrillic_a'},
    0x06c2: {'char': 'б', 'xkey_name': 'Cyrillic_be'},
    0x06c3: {'char': 'ц', 'xkey_name': 'Cyrillic_tse'},
    0x06c4: {'char': 'д', 'xkey_name': 'Cyrillic_de'},
    0x06c5: {'char': 'е', 'xkey_name': 'Cyrillic_ie'},
    0x06c6: {'char': 'ф', 'xkey_name': 'Cyrillic_ef'},
    0x06c7: {'char': 'г', 'xkey_name': 'Cyrillic_ghe'},
    0x06c8: {'char': 'х', 'xkey_name': 'Cyrillic_ha'},
    0x06c9: {'char': 'и', 'xkey_name': 'Cyrillic_i'},
    0x06ca: {'char': 'й', 'xkey_name': 'Cyrillic_shorti'},
    0x06cb: {'char': 'к', 'xkey_name': 'Cyrillic_ka'},
    0x06cc: {'char': 'л', 'xkey_name': 'Cyrillic_el'},
    0x06cd: {'char': 'м', 'xkey_name': 'Cyrillic_em'},
    0x06ce: {'char': 'н', 'xkey_name': 'Cyrillic_en'},
    0x06cf: {'char': 'о', 'xkey_name': 'Cyrillic_o'},
    0x06d0: {'char': 'п', 'xkey_name': 'Cyrillic_pe'},
    0x06d1: {'char': 'я', 'xkey_name': 'Cyrillic_ya'},
    0x06d2: {'char': 'р', 'xkey_name': 'Cyrillic_er'},
    0x06d3: {'char': 'с', 'xkey_name': 'Cyrillic_es'},
    0x06d4: {'char': 'т', 'xkey_name': 'Cyrillic_te'},
    0x06d5: {'char': 'у', 'xkey_name': 'Cyrillic_u'},
    0x06d6: {'char': 'ж', 'xkey_name': 'Cyrillic_zhe'},
    0x06d7: {'char': 'в', 'xkey_name': 'Cyrillic_ve'},
    0x06d8: {'char': 'ь', 'xkey_name': 'Cyrillic_softsign'},
    0x06d9: {'char': 'ы', 'xkey_name': 'Cyrillic_yeru'},
    0x06da: {'char': 'з', 'xkey_name': 'Cyrillic_ze'},
    0x06db: {'char': 'ш', 'xkey_name': 'Cyrillic_sha'},
    0x06dc: {'char': 'э', 'xkey_name': 'Cyrillic_e'},
    0x06dd: {'char': 'щ', 'xkey_name': 'Cyrillic_shcha'},
    0x06de: {'char': 'ч', 'xkey_name': 'Cyrillic_che'},
    0x06df: {'char': 'ъ', 'xkey_name': 'Cyrillic_hardsign'},
    0x06e0: {'char': 'Ю', 'xkey_name': 'Cyrillic_YU'},
    0x06e1: {'char': 'А', 'xkey_name': 'Cyrillic_A'},
    0x06e2: {'char': 'Б', 'xkey_name': 'Cyrillic_BE'},
    0x06e3: {'char': 'Ц', 'xkey_name': 'Cyrillic_TSE'},
    0x06e4: {'char': 'Д', 'xkey_name': 'Cyrillic_DE'},
    0x06e5: {'char': 'Е', 'xkey_name': 'Cyrillic_IE'},
    0x06e6: {'char': 'Ф', 'xkey_name': 'Cyrillic_EF'},
    0x06e7: {'char': 'Г', 'xkey_name': 'Cyrillic_GHE'},
    0x06e8: {'char': 'Х', 'xkey_name': 'Cyrillic_HA'},
    0x06e9: {'char': 'И', 'xkey_name': 'Cyrillic_I'},
    0x06ea: {'char': 'Й', 'xkey_name': 'Cyrillic_SHORTI'},
    0x06eb: {'char': 'К', 'xkey_name': 'Cyrillic_KA'},
    0x06ec: {'char': 'Л', 'xkey_name': 'Cyrillic_EL'},
    0x06ed: {'char': 'М', 'xkey_name': 'Cyrillic_EM'},
    0x06ee: {'char': 'Н', 'xkey_name': 'Cyrillic_EN'},
    0x06ef: {'char': 'О', 'xkey_name': 'Cyrillic_O'},
    0x06f0: {'char': 'П', 'xkey_name': 'Cyrillic_PE'},
    0x06f1: {'char': 'Я', 'xkey_name': 'Cyrillic_YA'},
    0x06f2: {'char': 'Р', 'xkey_name': 'Cyrillic_ER'},
    0x06f3: {'char': 'С', 'xkey_name': 'Cyrillic_ES'},
    0x06f4: {'char': 'Т', 'xkey_name': 'Cyrillic_TE'},
    0x06f5: {'char': 'У', 'xkey_name': 'Cyrillic_U'},
    0x06f6: {'char': 'Ж', 'xkey_name': 'Cyrillic_ZHE'},
    0x06f7: {'char': 'В', 'xkey_name': 'Cyrillic_VE'},
    0x06f8: {'char': 'Ь', 'xkey_name': 'Cyrillic_SOFTSIGN'},
    0x06f9: {'char': 'Ы', 'xkey_name': 'Cyrillic_YERU'},
    0x06fa: {'char': 'З', 'xkey_name': 'Cyrillic_ZE'},
    0x06fb: {'char': 'Ш', 'xkey_name': 'Cyrillic_SHA'},
    0x06fc: {'char': 'Э', 'xkey_name': 'Cyrillic_E'},
    0x06fd: {'char': 'Щ', 'xkey_name': 'Cyrillic_SHCHA'},
    0x06fe: {'char': 'Ч', 'xkey_name': 'Cyrillic_CHE'},
    0x06ff: {'char': 'Ъ', 'xkey_name': 'Cyrillic_HARDSIGN'},
    0x07a1: {'char': 'Ά', 'xkey_name': 'Greek_ALPHAaccent'},
    0x07a2: {'char': 'Έ', 'xkey_name': 'Greek_EPSILONaccent'},
    0x07a3: {'char': 'Ή', 'xkey_name': 'Greek_ETAaccent'},
    0x07a4: {'char': 'Ί', 'xkey_name': 'Greek_IOTAaccent'},
    0x07a5: {'char': 'Ϊ', 'xkey_name': 'Greek_IOTAdieresis'},
    0x07a7: {'char': 'Ό', 'xkey_name': 'Greek_OMICRONaccent'},
    0x07a8: {'char': 'Ύ', 'xkey_name': 'Greek_UPSILONaccent'},
    0x07a9: {'char': 'Ϋ', 'xkey_name': 'Greek_UPSILONdieresis'},
    0x07ab: {'char': 'Ώ', 'xkey_name': 'Greek_OMEGAaccent'},
    0x07ae: {'char': '΅', 'xkey_name': 'Greek_accentdieresis'},
    0x07af: {'char': '―', 'xkey_name': 'Greek_horizbar'},
    0x07b1: {'char': 'ά', 'xkey_name': 'Greek_alphaaccent'},
    0x07b2: {'char': 'έ', 'xkey_name': 'Greek_epsilonaccent'},
    0x07b3: {'char': 'ή', 'xkey_name': 'Greek_etaaccent'},
    0x07b4: {'char': 'ί', 'xkey_name': 'Greek_iotaaccent'},
    0x07b5: {'char': 'ϊ', 'xkey_name': 'Greek_iotadieresis'},
    0x07b6: {'char': 'ΐ', 'xkey_name': 'Greek_iotaaccentdieresis'},
    0x07b7: {'char': 'ό', 'xkey_name': 'Greek_omicronaccent'},
    0x07b8: {'char': 'ύ', 'xkey_name': 'Greek_upsilonaccent'},
    0x07b9: {'char': 'ϋ', 'xkey_name': 'Greek_upsilondieresis'},
    0x07ba: {'char': 'ΰ', 'xkey_name': 'Greek_upsilonaccentdieresis'},
    0x07bb: {'char': 'ώ', 'xkey_name': 'Greek_omegaaccent'},
    0x07c1: {'char': 'Α', 'xkey_name': 'Greek_ALPHA'},
    0x07c2: {'char': 'Β', 'xkey_name': 'Greek_BETA'},
    0x07c3: {'char': 'Γ', 'xkey_name': 'Greek_GAMMA'},
    0x07c4: {'char': 'Δ', 'xkey_name': 'Greek_DELTA'},
    0x07c5: {'char': 'Ε', 'xkey_name': 'Greek_EPSILON'},
    0x07c6: {'char': 'Ζ', 'xkey_name': 'Greek_ZETA'},
    0x07c7: {'char': 'Η', 'xkey_name': 'Greek_ETA'},
    0x07c8: {'char': 'Θ', 'xkey_name': 'Greek_THETA'},
    0x07c9: {'char': 'Ι', 'xkey_name': 'Greek_IOTA'},
    0x07ca: {'char': 'Κ', 'xkey_name': 'Greek_KAPPA'},
    0x07cb: {'char': 'Λ', 'xkey_name': 'Greek_LAMDA'},
    0x07cc: {'char': 'Μ', 'xkey_name': 'Greek_MU'},
    0x07cd: {'char': 'Ν', 'xkey_name': 'Greek_NU'},
    0x07ce: {'char': 'Ξ', 'xkey_name': 'Greek_XI'},
    0x07cf: {'char': 'Ο', 'xkey_name': 'Greek_OMICRON'},
    0x07d0: {'char': 'Π', 'xkey_name': 'Greek_PI'},
    0x07d1: {'char': 'Ρ', 'xkey_name': 'Greek_RHO'},
    0x07d2: {'char': 'Σ', 'xkey_name': 'Greek_SIGMA'},
    0x07d4: {'char': 'Τ', 'xkey_name': 'Greek_TAU'},
    0x07d5: {'char': 'Υ', 'xkey_name': 'Greek_UPSILON'},
    0x07d6: {'char': 'Φ', 'xkey_name': 'Greek_PHI'},
    0x07d7: {'char': 'Χ', 'xkey_name': 'Greek_CHI'},
    0x07d8: {'char': 'Ψ', 'xkey_name': 'Greek_PSI'},
    0x07d9: {'char': 'Ω', 'xkey_name': 'Greek_OMEGA'},
    0x07e1: {'char': 'α', 'xkey_name': 'Greek_alpha'},
    0x07e2: {'char': 'β', 'xkey_name': 'Greek_beta'},
    0x07e3: {'char': 'γ', 'xkey_name': 'Greek_gamma'},
    0x07e4: {'char': 'δ', 'xkey_name': 'Greek_delta'},
    0x07e5: {'char': 'ε', 'xkey_name': 'Greek_epsilon'},
    0x07e6: {'char': 'ζ', 'xkey_name': 'Greek_zeta'},
    0x07e7: {'char': 'η', 'xkey_name': 'Greek_eta'},
    0x07e8: {'char': 'θ', 'xkey_name': 'Greek_theta'},
    0x07e9: {'char': 'ι', 'xkey_name': 'Greek_iota'},
    0x07ea: {'char': 'κ', 'xkey_name': 'Greek_kappa'},
    0x07eb: {'char': 'λ', 'xkey_name': 'Greek_lamda'},
    0x07ec: {'char': 'μ', 'xkey_name': 'Greek_mu'},
    0x07ed: {'char': 'ν', 'xkey_name': 'Greek_nu'},
    0x07ee: {'char': 'ξ', 'xkey_name': 'Greek_xi'},
    0x07ef: {'char': 'ο', 'xkey_name': 'Greek_omicron'},
    0x07f0: {'char': 'π', 'xkey_name': 'Greek_pi'},
    0x07f1: {'char': 'ρ', 'xkey_name': 'Greek_rho'},
    0x07f2: {'char': 'σ', 'xkey_name': 'Greek_sigma'},
    0x07f3: {'char': 'ς', 'xkey_name': 'Greek_finalsmallsigma'},
    0x07f4: {'char': 'τ', 'xkey_name': 'Greek_tau'},
    0x07f5: {'char': 'υ', 'xkey_name': 'Greek_upsilon'},
    0x07f6: {'char': 'φ', 'xkey_name': 'Greek_phi'},
    0x07f7: {'char': 'χ', 'xkey_name': 'Greek_chi'},
    0x07f8: {'char': 'ψ', 'xkey_name': 'Greek_psi'},
    0x07f9: {'char': 'ω', 'xkey_name': 'Greek_omega'},
    0x08a1: {'char': '⎷', 'xkey_name': 'leftradical'},
    0x08a4: {'char': '⌠', 'xkey_name': 'topintegral'},
    0x08a5: {'char': '⌡', 'xkey_name': 'botintegral'},
    0x08a7: {'char': '⎡', 'xkey_name': 'topleftsqbracket'},
    0x08a8: {'char': '⎣', 'xkey_name': 'botleftsqbracket'},
    0x08a9: {'char': '⎤', 'xkey_name': 'toprightsqbracket'},
    0x08aa: {'char': '⎦', 'xkey_name': 'botrightsqbracket'},
    0x08ab: {'char': '⎛', 'xkey_name': 'topleftparens'},
    0x08ac: {'char': '⎝', 'xkey_name': 'botleftparens'},
    0x08ad: {'char': '⎞', 'xkey_name': 'toprightparens'},
    0x08ae: {'char': '⎠', 'xkey_name': 'botrightparens'},
    0x08af: {'char': '⎨', 'xkey_name': 'leftmiddlecurlybrace'},
    0x08b0: {'char': '⎬', 'xkey_name': 'rightmiddlecurlybrace'},
    0x08bc: {'char': '≤', 'xkey_name': 'lessthanequal'},
    0x08bd: {'char': '≠', 'xkey_name': 'notequal'},
    0x08be: {'char': '≥', 'xkey_name': 'greaterthanequal'},
    0x08bf: {'char': '∫', 'xkey_name': 'integral'},
    0x08c0: {'char': '∴', 'xkey_name': 'therefore'},
    0x08c1: {'char': '∝', 'xkey_name': 'variation'},
    0x08c2: {'char': '∞', 'xkey_name': 'infinity'},
    0x08c5: {'char': '∇', 'xkey_name': 'nabla'},
    0x08c8: {'char': '∼', 'xkey_name': 'approximate'},
    0x08c9: {'char': '≃', 'xkey_name': 'similarequal'},
    0x08cd: {'char': '⇔', 'xkey_name': 'ifonlyif'},
    0x08ce: {'char': '⇒', 'xkey_name': 'implies'},
    0x08cf: {'char': '≡', 'xkey_name': 'identical'},
    0x08d6: {'char': '√', 'xkey_name': 'radical'},
    0x08da: {'char': '⊂', 'xkey_name': 'includedin'},
    0x08db: {'char': '⊃', 'xkey_name': 'includes'},
    0x08dc: {'char': '∩', 'xkey_name': 'intersection'},
    0x08dd: {'char': '∪', 'xkey_name': 'union'},
    0x08de: {'char': '∧', 'xkey_name': 'logicaland'},
    0x08df: {'char': '∨', 'xkey_name': 'logicalor'},
    0x08ef: {'char': '∂', 'xkey_name': 'partialderivative'},
    0x08f6: {'char': 'ƒ', 'xkey_name': 'function'},
    0x08fb: {'char': '←', 'xkey_name': 'leftarrow'},
    0x08fc: {'char': '↑', 'xkey_name': 'uparrow'},
    0x08fd: {'char': '→', 'xkey_name': 'rightarrow'},
    0x08fe: {'char': '↓', 'xkey_name': 'downarrow'},
    0x09e0: {'char': '◆', 'xkey_name': 'soliddiamond'},
    0x09e1: {'char': '▒', 'xkey_name': 'checkerboard'},
    0x09e2: {'char': '\u2409', 'xkey_name': 'ht'},
    0x09e3: {'char': '\u240c', 'xkey_name': 'ff'},
    0x09e4: {'char': '\u240d', 'xkey_name': 'cr'},
    0x09e5: {'char': '\u240a', 'xkey_name': 'lf'},
    0x09e8: {'char': '\u2424', 'xkey_name': 'nl'},
    0x09e9: {'char': '\u240b', 'xkey_name': 'vt'},
    0x09ea: {'char': '┘', 'xkey_name': 'lowrightcorner'},
    0x09eb: {'char': '┐', 'xkey_name': 'uprightcorner'},
    0x09ec: {'char': '┌', 'xkey_name': 'upleftcorner'},
    0x09ed: {'char': '└', 'xkey_name': 'lowleftcorner'},
    0x09ee: {'char': '┼', 'xkey_name': 'crossinglines'},
    0x09ef: {'char': '⎺', 'xkey_name': 'horizlinescan1'},
    0x09f0: {'char': '⎻', 'xkey_name': 'horizlinescan3'},
    0x09f1: {'char': '─', 'xkey_name': 'horizlinescan5'},
    0x09f2: {'char': '⎼', 'xkey_name': 'horizlinescan7'},
    0x09f3: {'char': '⎽', 'xkey_name': 'horizlinescan9'},
    0x09f4: {'char': '├', 'xkey_name': 'leftt'},
    0x09f5: {'char': '┤', 'xkey_name': 'rightt'},
    0x09f6: {'char': '┴', 'xkey_name': 'bott'},
    0x09f7: {'char': '┬', 'xkey_name': 'topt'},
    0x09f8: {'char': '│', 'xkey_name': 'vertbar'},
    0x0aa1: {'char': '\u2003', 'xkey_name': 'emspace'},
    0x0aa2: {'char': '\u2002', 'xkey_name': 'enspace'},
    0x0aa3: {'char': '\u2004', 'xkey_name': 'em3space'},
    0x0aa4: {'char': '\u2005', 'xkey_name': 'em4space'},
    0x0aa5: {'char': '\u2007', 'xkey_name': 'digitspace'},
    0x0aa6: {'char': '\u2008', 'xkey_name': 'punctspace'},
    0x0aa7: {'char': '\u2009', 'xkey_name': 'thinspace'},
    0x0aa8: {'char': '\u200a', 'xkey_name': 'hairspace'},
    0x0aa9: {'char': '—', 'xkey_name': 'emdash'},
    0x0aaa: {'char': '–', 'xkey_name': 'endash'},
    0x0aae: {'char': '…', 'xkey_name': 'ellipsis'},
    0x0aaf: {'char': '‥', 'xkey_name': 'doubbaselinedot'},
    0x0ab0: {'char': '⅓', 'xkey_name': 'onethird'},
    0x0ab1: {'char': '⅔', 'xkey_name': 'twothirds'},
    0x0ab2: {'char': '⅕', 'xkey_name': 'onefifth'},
    0x0ab3: {'char': '⅖', 'xkey_name': 'twofifths'},
    0x0ab4: {'char': '⅗', 'xkey_name': 'threefifths'},
    0x0ab5: {'char': '⅘', 'xkey_name': 'fourfifths'},
    0x0ab6: {'char': '⅙', 'xkey_name': 'onesixth'},
    0x0ab7: {'char': '⅚', 'xkey_name': 'fivesixths'},
    0x0ab8: {'char': '℅', 'xkey_name': 'careof'},
    0x0abb: {'char': '‒', 'xkey_name': 'figdash'},
    0x0ac3: {'char': '⅛', 'xkey_name': 'oneeighth'},
    0x0ac4: {'char': '⅜', 'xkey_name': 'threeeighths'},
    0x0ac5: {'char': '⅝', 'xkey_name': 'fiveeighths'},
    0x0ac6: {'char': '⅞', 'xkey_name': 'seveneighths'},
    0x0ac9: {'char': '™', 'xkey_name': 'trademark'},
    0x0ad0: {'char': '‘', 'xkey_name': 'leftsinglequotemark'},
    0x0ad1: {'char': '’', 'xkey_name': 'rightsinglequotemark'},
    0x0ad2: {'char': '“', 'xkey_name': 'leftdoublequotemark'},
    0x0ad3: {'char': '”', 'xkey_name': 'rightdoublequotemark'},
    0x0ad4: {'char': '℞', 'xkey_name': 'prescription'},
    0x0ad6: {'char': '′', 'xkey_name': 'minutes'},
    0x0ad7: {'char': '″', 'xkey_name': 'seconds'},
    0x0ad9: {'char': '✝', 'xkey_name': 'latincross'},
    0x0aec: {'char': '♣', 'xkey_name': 'club'},
    0x0aed: {'char': '♦', 'xkey_name': 'diamond'},
    0x0aee: {'char': '♥', 'xkey_name': 'heart'},
    0x0af0: {'char': '✠', 'xkey_name': 'maltesecross'},
    0x0af1: {'char': '†', 'xkey_name': 'dagger'},
    0x0af2: {'char': '‡', 'xkey_name': 'doubledagger'},
    0x0af3: {'char': '✓', 'xkey_name': 'checkmark'},
    0x0af4: {'char': '✗', 'xkey_name': 'ballotcross'},
    0x0af5: {'char': '♯', 'xkey_name': 'musicalsharp'},
    0x0af6: {'char': '♭', 'xkey_name': 'musicalflat'},
    0x0af7: {'char': '♂', 'xkey_name': 'malesymbol'},
    0x0af8: {'char': '♀', 'xkey_name': 'femalesymbol'},
    0x0af9: {'char': '☎', 'xkey_name': 'telephone'},
    0x0afa: {'char': '⌕', 'xkey_name': 'telephonerecorder'},
    0x0afb: {'char': '℗', 'xkey_name': 'phonographcopyright'},
    0x0afc: {'char': '‸', 'xkey_name': 'caret'},
    0x0afd: {'char': '‚', 'xkey_name': 'singlelowquotemark'},
    0x0afe: {'char': '„', 'xkey_name': 'doublelowquotemark'},
    0x0bc2: {'char': '⊤', 'xkey_name': 'downtack'},
    0x0bc4: {'char': '⌊', 'xkey_name': 'downstile'},
    0x0bca: {'char': '∘', 'xkey_name': 'jot'},
    0x0bcc: {'char': '⎕', 'xkey_name': 'quad'},
    0x0bce: {'char': '⊥', 'xkey_name': 'uptack'},
    0x0bcf: {'char': '○', 'xkey_name': 'circle'},
    0x0bd3: {'char': '⌈', 'xkey_name': 'upstile'},
    0x0bdc: {'char': '⊣', 'xkey_name': 'lefttack'},
    0x0bfc: {'char': '⊢', 'xkey_name': 'righttack'},
    0x0cdf: {'char': '̳', 'xkey_name': 'hebrew_doublelowline'},
    0x0ce0: {'char': 'א', 'xkey_name': 'hebrew_aleph'},
    0x0ce1: {'char': 'ב', 'xkey_name': 'hebrew_bet'},
    0x0ce2: {'char': 'ג', 'xkey_name': 'hebrew_gimel'},
    0x0ce3: {'char': 'ד', 'xkey_name': 'hebrew_dalet'},
    0x0ce4: {'char': 'ה', 'xkey_name': 'hebrew_he'},
    0x0ce5: {'char': 'ו', 'xkey_name': 'hebrew_waw'},
    0x0ce6: {'char': 'ז', 'xkey_name': 'hebrew_zain'},
    0x0ce7: {'char': 'ח', 'xkey_name': 'hebrew_chet'},
    0x0ce8: {'char': 'ט', 'xkey_name': 'hebrew_tet'},
    0x0ce9: {'char': 'י', 'xkey_name': 'hebrew_yod'},
    0x0cea: {'char': 'ך', 'xkey_name': 'hebrew_finalkaph'},
    0x0ceb: {'char': 'כ', 'xkey_name': 'hebrew_kaph'},
    0x0cec: {'char': 'ל', 'xkey_name': 'hebrew_lamed'},
    0x0ced: {'char': 'ם', 'xkey_name': 'hebrew_finalmem'},
    0x0cee: {'char': 'מ', 'xkey_name': 'hebrew_mem'},
    0x0cef: {'char': 'ן', 'xkey_name': 'hebrew_finalnun'},
    0x0cf0: {'char': 'נ', 'xkey_name': 'hebrew_nun'},
    0x0cf1: {'char': 'ס', 'xkey_name': 'hebrew_samech'},
    0x0cf2: {'char': 'ע', 'xkey_name': 'hebrew_ayin'},
    0x0cf3: {'char': 'ף', 'xkey_name': 'hebrew_finalpe'},
    0x0cf4: {'char': 'פ', 'xkey_name': 'hebrew_pe'},
    0x0cf5: {'char': 'ץ', 'xkey_name': 'hebrew_finalzade'},
    0x0cf6: {'char': 'צ', 'xkey_name': 'hebrew_zade'},
    0x0cf7: {'char': 'ק', 'xkey_name': 'hebrew_qoph'},
    0x0cf8: {'char': 'ר', 'xkey_name': 'hebrew_resh'},
    0x0cf9: {'char': 'ש', 'xkey_name': 'hebrew_shin'},
    0x0cfa: {'char': 'ת', 'xkey_name': 'hebrew_taw'},
    0x0da1: {'char': 'ก', 'xkey_name': 'Thai_kokai'},
    0x0da2: {'char': 'ข', 'xkey_name': 'Thai_khokhai'},
    0x0da3: {'char': 'ฃ', 'xkey_name': 'Thai_khokhuat'},
    0x0da4: {'char': 'ค', 'xkey_name': 'Thai_khokhwai'},
    0x0da5: {'char': 'ฅ', 'xkey_name': 'Thai_khokhon'},
    0x0da6: {'char': 'ฆ', 'xkey_name': 'Thai_khorakhang'},
    0x0da7: {'char': 'ง', 'xkey_name': 'Thai_ngongu'},
    0x0da8: {'char': 'จ', 'xkey_name': 'Thai_chochan'},
    0x0da9: {'char': 'ฉ', 'xkey_name': 'Thai_choching'},
    0x0daa: {'char': 'ช', 'xkey_name': 'Thai_chochang'},
    0x0dab: {'char': 'ซ', 'xkey_name': 'Thai_soso'},
    0x0dac: {'char': 'ฌ', 'xkey_name': 'Thai_chochoe'},
    0x0dad: {'char': 'ญ', 'xkey_name': 'Thai_yoying'},
    0x0dae: {'char': 'ฎ', 'xkey_name': 'Thai_dochada'},
    0x0daf: {'char': 'ฏ', 'xkey_name': 'Thai_topatak'},
    0x0db0: {'char': 'ฐ', 'xkey_name': 'Thai_thothan'},
    0x0db1: {'char': 'ฑ', 'xkey_name': 'Thai_thonangmontho'},
    0x0db2: {'char': 'ฒ', 'xkey_name': 'Thai_thophuthao'},
    0x0db3: {'char': 'ณ', 'xkey_name': 'Thai_nonen'},
    0x0db4: {'char': 'ด', 'xkey_name': 'Thai_dodek'},
    0x0db5: {'char': 'ต', 'xkey_name': 'Thai_totao'},
    0x0db6: {'char': 'ถ', 'xkey_name': 'Thai_thothung'},
    0x0db7: {'char': 'ท', 'xkey_name': 'Thai_thothahan'},
    0x0db8: {'char': 'ธ', 'xkey_name': 'Thai_thothong'},
    0x0db9: {'char': 'น', 'xkey_name': 'Thai_nonu'},
    0x0dba: {'char': 'บ', 'xkey_name': 'Thai_bobaimai'},
    0x0dbb: {'char': 'ป', 'xkey_name': 'Thai_popla'},
    0x0dbc: {'char': 'ผ', 'xkey_name': 'Thai_phophung'},
    0x0dbd: {'char': 'ฝ', 'xkey_name': 'Thai_fofa'},
    0x0dbe: {'char': 'พ', 'xkey_name': 'Thai_phophan'},
    0x0dbf: {'char': 'ฟ', 'xkey_name': 'Thai_fofan'},
    0x0dc0: {'char': 'ภ', 'xkey_name': 'Thai_phosamphao'},
    0x0dc1: {'char': 'ม', 'xkey_name': 'Thai_moma'},
    0x0dc2: {'char': 'ย', 'xkey_name': 'Thai_yoyak'},
    0x0dc3: {'char': 'ร', 'xkey_name': 'Thai_rorua'},
    0x0dc4: {'char': 'ฤ', 'xkey_name': 'Thai_ru'},
    0x0dc5: {'char': 'ล', 'xkey_name': 'Thai_loling'},
    0x0dc6: {'char': 'ฦ', 'xkey_name': 'Thai_lu'},
    0x0dc7: {'char': 'ว', 'xkey_name': 'Thai_wowaen'},
    0x0dc8: {'char': 'ศ', 'xkey_name': 'Thai_sosala'},
    0x0dc9: {'char': 'ษ', 'xkey_name': 'Thai_sorusi'},
    0x0dca: {'char': 'ส', 'xkey_name': 'Thai_sosua'},
    0x0dcb: {'char': 'ห', 'xkey_name': 'Thai_hohip'},
    0x0dcc: {'char': 'ฬ', 'xkey_name': 'Thai_lochula'},
    0x0dcd: {'char': 'อ', 'xkey_name': 'Thai_oang'},
    0x0dce: {'char': 'ฮ', 'xkey_name': 'Thai_honokhuk'},
    0x0dcf: {'char': 'ฯ', 'xkey_name': 'Thai_paiyannoi'},
    0x0dd0: {'char': 'ะ', 'xkey_name': 'Thai_saraa'},
    0x0dd1: {'char': 'ั', 'xkey_name': 'Thai_maihanakat'},
    0x0dd2: {'char': 'า', 'xkey_name': 'Thai_saraaa'},
    0x0dd3: {'char': 'ำ', 'xkey_name': 'Thai_saraam'},
    0x0dd4: {'char': 'ิ', 'xkey_name': 'Thai_sarai'},
    0x0dd5: {'char': 'ี', 'xkey_name': 'Thai_saraii'},
    0x0dd6: {'char': 'ึ', 'xkey_name': 'Thai_saraue'},
    0x0dd7: {'char': 'ื', 'xkey_name': 'Thai_sarauee'},
    0x0dd8: {'char': 'ุ', 'xkey_name': 'Thai_sarau'},
    0x0dd9: {'char': 'ู', 'xkey_name': 'Thai_sarauu'},
    0x0dda: {'char': 'ฺ', 'xkey_name': 'Thai_phinthu'},
    0x0ddf: {'char': '฿', 'xkey_name': 'Thai_baht'},
    0x0de0: {'char': 'เ', 'xkey_name': 'Thai_sarae'},
    0x0de1: {'char': 'แ', 'xkey_name': 'Thai_saraae'},
    0x0de2: {'char': 'โ', 'xkey_name': 'Thai_sarao'},
    0x0de3: {'char': 'ใ', 'xkey_name': 'Thai_saraaimaimuan'},
    0x0de4: {'char': 'ไ', 'xkey_name': 'Thai_saraaimaimalai'},
    0x0de5: {'char': 'ๅ', 'xkey_name': 'Thai_lakkhangyao'},
    0x0de6: {'char': 'ๆ', 'xkey_name': 'Thai_maiyamok'},
    0x0de7: {'char': '็', 'xkey_name': 'Thai_maitaikhu'},
    0x0de8: {'char': '่', 'xkey_name': 'Thai_maiek'},
    0x0de9: {'char': '้', 'xkey_name': 'Thai_maitho'},
    0x0dea: {'char': '๊', 'xkey_name': 'Thai_maitri'},
    0x0deb: {'char': '๋', 'xkey_name': 'Thai_maichattawa'},
    0x0dec: {'char': '์', 'xkey_name': 'Thai_thanthakhat'},
    0x0ded: {'char': 'ํ', 'xkey_name': 'Thai_nikhahit'},
    0x0df0: {'char': '๐', 'xkey_name': 'Thai_leksun'},
    0x0df1: {'char': '๑', 'xkey_name': 'Thai_leknung'},
    0x0df2: {'char': '๒', 'xkey_name': 'Thai_leksong'},
    0x0df3: {'char': '๓', 'xkey_name': 'Thai_leksam'},
    0x0df4: {'char': '๔', 'xkey_name': 'Thai_leksi'},
    0x0df5: {'char': '๕', 'xkey_name': 'Thai_lekha'},
    0x0df6: {'char': '๖', 'xkey_name': 'Thai_lekhok'},
    0x0df7: {'char': '๗', 'xkey_name': 'Thai_lekchet'},
    0x0df8: {'char': '๘', 'xkey_name': 'Thai_lekpaet'},
    0x0df9: {'char': '๙', 'xkey_name': 'Thai_lekkao'},
    0x0eff: {'char': '₩', 'xkey_name': 'Korean_Won'},
    0x1000587: {'char': 'և', 'xkey_name': 'Armenian_ligature_ew'},
    0x1000589: {'char': '։', 'xkey_name': 'Armenian_full_stop'},
    0x100055d: {'char': '՝', 'xkey_name': 'Armenian_separation_mark'},
    0x100058a: {'char': '֊', 'xkey_name': 'Armenian_hyphen'},
    0x100055c: {'char': '՜', 'xkey_name': 'Armenian_exclam'},
    0x100055b: {'char': '՛', 'xkey_name': 'Armenian_accent'},
    0x100055e: {'char': '՞', 'xkey_name': 'Armenian_question'},
    0x1000531: {'char': 'Ա', 'xkey_name': 'Armenian_AYB'},
    0x1000561: {'char': 'ա', 'xkey_name': 'Armenian_ayb'},
    0x1000532: {'char': 'Բ', 'xkey_name': 'Armenian_BEN'},
    0x1000562: {'char': 'բ', 'xkey_name': 'Armenian_ben'},
    0x1000533: {'char': 'Գ', 'xkey_name': 'Armenian_GIM'},
    0x1000563: {'char': 'գ', 'xkey_name': 'Armenian_gim'},
    0x1000534: {'char': 'Դ', 'xkey_name': 'Armenian_DA'},
    0x1000564: {'char': 'դ', 'xkey_name': 'Armenian_da'},
    0x1000535: {'char': 'Ե', 'xkey_name': 'Armenian_YECH'},
    0x1000565: {'char': 'ե', 'xkey_name': 'Armenian_yech'},
    0x1000536: {'char': 'Զ', 'xkey_name': 'Armenian_ZA'},
    0x1000566: {'char': 'զ', 'xkey_name': 'Armenian_za'},
    0x1000537: {'char': 'Է', 'xkey_name': 'Armenian_E'},
    0x1000567: {'char': 'է', 'xkey_name': 'Armenian_e'},
    0x1000538: {'char': 'Ը', 'xkey_name': 'Armenian_AT'},
    0x1000568: {'char': 'ը', 'xkey_name': 'Armenian_at'},
    0x1000539: {'char': 'Թ', 'xkey_name': 'Armenian_TO'},
    0x1000569: {'char': 'թ', 'xkey_name': 'Armenian_to'},
    0x100053a: {'char': 'Ժ', 'xkey_name': 'Armenian_ZHE'},
    0x100056a: {'char': 'ժ', 'xkey_name': 'Armenian_zhe'},
    0x100053b: {'char': 'Ի', 'xkey_name': 'Armenian_INI'},
    0x100056b: {'char': 'ի', 'xkey_name': 'Armenian_ini'},
    0x100053c: {'char': 'Լ', 'xkey_name': 'Armenian_LYUN'},
    0x100056c: {'char': 'լ', 'xkey_name': 'Armenian_lyun'},
    0x100053d: {'char': 'Խ', 'xkey_name': 'Armenian_KHE'},
    0x100056d: {'char': 'խ', 'xkey_name': 'Armenian_khe'},
    0x100053e: {'char': 'Ծ', 'xkey_name': 'Armenian_TSA'},
    0x100056e: {'char': 'ծ', 'xkey_name': 'Armenian_tsa'},
    0x100053f: {'char': 'Կ', 'xkey_name': 'Armenian_KEN'},
    0x100056f: {'char': 'կ', 'xkey_name': 'Armenian_ken'},
    0x1000540: {'char': 'Հ', 'xkey_name': 'Armenian_HO'},
    0x1000570: {'char': 'հ', 'xkey_name': 'Armenian_ho'},
    0x1000541: {'char': 'Ձ', 'xkey_name': 'Armenian_DZA'},
    0x1000571: {'char': 'ձ', 'xkey_name': 'Armenian_dza'},
    0x1000542: {'char': 'Ղ', 'xkey_name': 'Armenian_GHAT'},
    0x1000572: {'char': 'ղ', 'xkey_name': 'Armenian_ghat'},
    0x1000543: {'char': 'Ճ', 'xkey_name': 'Armenian_TCHE'},
    0x1000573: {'char': 'ճ', 'xkey_name': 'Armenian_tche'},
    0x1000544: {'char': 'Մ', 'xkey_name': 'Armenian_MEN'},
    0x1000574: {'char': 'մ', 'xkey_name': 'Armenian_men'},
    0x1000545: {'char': 'Յ', 'xkey_name': 'Armenian_HI'},
    0x1000575: {'char': 'յ', 'xkey_name': 'Armenian_hi'},
    0x1000546: {'char': 'Ն', 'xkey_name': 'Armenian_NU'},
    0x1000576: {'char': 'ն', 'xkey_name': 'Armenian_nu'},
    0x1000547: {'char': 'Շ', 'xkey_name': 'Armenian_SHA'},
    0x1000577: {'char': 'շ', 'xkey_name': 'Armenian_sha'},
    0x1000548: {'char': 'Ո', 'xkey_name': 'Armenian_VO'},
    0x1000578: {'char': 'ո', 'xkey_name': 'Armenian_vo'},
    0x1000549: {'char': 'Չ', 'xkey_name': 'Armenian_CHA'},
    0x1000579: {'char': 'չ', 'xkey_name': 'Armenian_cha'},
    0x100054a: {'char': 'Պ', 'xkey_name': 'Armenian_PE'},
    0x100057a: {'char': 'պ', 'xkey_name': 'Armenian_pe'},
    0x100054b: {'char': 'Ջ', 'xkey_name': 'Armenian_JE'},
    0x100057b: {'char': 'ջ', 'xkey_name': 'Armenian_je'},
    0x100054c: {'char': 'Ռ', 'xkey_name': 'Armenian_RA'},
    0x100057c: {'char': 'ռ', 'xkey_name': 'Armenian_ra'},
    0x100054d: {'char': 'Ս', 'xkey_name': 'Armenian_SE'},
    0x100057d: {'char': 'ս', 'xkey_name': 'Armenian_se'},
    0x100054e: {'char': 'Վ', 'xkey_name': 'Armenian_VEV'},
    0x100057e: {'char': 'վ', 'xkey_name': 'Armenian_vev'},
    0x100054f: {'char': 'Տ', 'xkey_name': 'Armenian_TYUN'},
    0x100057f: {'char': 'տ', 'xkey_name': 'Armenian_tyun'},
    0x1000550: {'char': 'Ր', 'xkey_name': 'Armenian_RE'},
    0x1000580: {'char': 'ր', 'xkey_name': 'Armenian_re'},
    0x1000551: {'char': 'Ց', 'xkey_name': 'Armenian_TSO'},
    0x1000581: {'char': 'ց', 'xkey_name': 'Armenian_tso'},
    0x1000552: {'char': 'Ւ', 'xkey_name': 'Armenian_VYUN'},
    0x1000582: {'char': 'ւ', 'xkey_name': 'Armenian_vyun'},
    0x1000553: {'char': 'Փ', 'xkey_name': 'Armenian_PYUR'},
    0x1000583: {'char': 'փ', 'xkey_name': 'Armenian_pyur'},
    0x1000554: {'char': 'Ք', 'xkey_name': 'Armenian_KE'},
    0x1000584: {'char': 'ք', 'xkey_name': 'Armenian_ke'},
    0x1000555: {'char': 'Օ', 'xkey_name': 'Armenian_O'},
    0x1000585: {'char': 'օ', 'xkey_name': 'Armenian_o'},
    0x1000556: {'char': 'Ֆ', 'xkey_name': 'Armenian_FE'},
    0x1000586: {'char': 'ֆ', 'xkey_name': 'Armenian_fe'},
    0x100055a: {'char': '՚', 'xkey_name': 'Armenian_apostrophe'},
    0x10010d0: {'char': 'ა', 'xkey_name': 'Georgian_an'},
    0x10010d1: {'char': 'ბ', 'xkey_name': 'Georgian_ban'},
    0x10010d2: {'char': 'გ', 'xkey_name': 'Georgian_gan'},
    0x10010d3: {'char': 'დ', 'xkey_name': 'Georgian_don'},
    0x10010d4: {'char': 'ე', 'xkey_name': 'Georgian_en'},
    0x10010d5: {'char': 'ვ', 'xkey_name': 'Georgian_vin'},
    0x10010d6: {'char': 'ზ', 'xkey_name': 'Georgian_zen'},
    0x10010d7: {'char': 'თ', 'xkey_name': 'Georgian_tan'},
    0x10010d8: {'char': 'ი', 'xkey_name': 'Georgian_in'},
    0x10010d9: {'char': 'კ', 'xkey_name': 'Georgian_kan'},
    0x10010da: {'char': 'ლ', 'xkey_name': 'Georgian_las'},
    0x10010db: {'char': 'მ', 'xkey_name': 'Georgian_man'},
    0x10010dc: {'char': 'ნ', 'xkey_name': 'Georgian_nar'},
    0x10010dd: {'char': 'ო', 'xkey_name': 'Georgian_on'},
    0x10010de: {'char': 'პ', 'xkey_name': 'Georgian_par'},
    0x10010df: {'char': 'ჟ', 'xkey_name': 'Georgian_zhar'},
    0x10010e0: {'char': 'რ', 'xkey_name': 'Georgian_rae'},
    0x10010e1: {'char': 'ს', 'xkey_name': 'Georgian_san'},
    0x10010e2: {'char': 'ტ', 'xkey_name': 'Georgian_tar'},
    0x10010e3: {'char': 'უ', 'xkey_name': 'Georgian_un'},
    0x10010e4: {'char': 'ფ', 'xkey_name': 'Georgian_phar'},
    0x10010e5: {'char': 'ქ', 'xkey_name': 'Georgian_khar'},
    0x10010e6: {'char': 'ღ', 'xkey_name': 'Georgian_ghan'},
    0x10010e7: {'char': 'ყ', 'xkey_name': 'Georgian_qar'},
    0x10010e8: {'char': 'შ', 'xkey_name': 'Georgian_shin'},
    0x10010e9: {'char': 'ჩ', 'xkey_name': 'Georgian_chin'},
    0x10010ea: {'char': 'ც', 'xkey_name': 'Georgian_can'},
    0x10010eb: {'char': 'ძ', 'xkey_name': 'Georgian_jil'},
    0x10010ec: {'char': 'წ', 'xkey_name': 'Georgian_cil'},
    0x10010ed: {'char': 'ჭ', 'xkey_name': 'Georgian_char'},
    0x10010ee: {'char': 'ხ', 'xkey_name': 'Georgian_xan'},
    0x10010ef: {'char': 'ჯ', 'xkey_name': 'Georgian_jhan'},
    0x10010f0: {'char': 'ჰ', 'xkey_name': 'Georgian_hae'},
    0x10010f1: {'char': 'ჱ', 'xkey_name': 'Georgian_he'},
    0x10010f2: {'char': 'ჲ', 'xkey_name': 'Georgian_hie'},
    0x10010f3: {'char': 'ჳ', 'xkey_name': 'Georgian_we'},
    0x10010f4: {'char': 'ჴ', 'xkey_name': 'Georgian_har'},
    0x10010f5: {'char': 'ჵ', 'xkey_name': 'Georgian_hoe'},
    0x10010f6: {'char': 'ჶ', 'xkey_name': 'Georgian_fi'},
    0x1001e8a: {'char': 'Ẋ', 'xkey_name': 'Xabovedot'},
    0x100012c: {'char': 'Ĭ', 'xkey_name': 'Ibreve'},
    0x10001b5: {'char': 'Ƶ', 'xkey_name': 'Zstroke'},
    0x10001e6: {'char': 'Ǧ', 'xkey_name': 'Gcaron'},
    0x10001d1: {'char': 'Ǒ', 'xkey_name': 'Ocaron'},
    0x100019f: {'char': 'Ɵ', 'xkey_name': 'Obarred'},
    0x1001e8b: {'char': 'ẋ', 'xkey_name': 'xabovedot'},
    0x100012d: {'char': 'ĭ', 'xkey_name': 'ibreve'},
    0x10001b6: {'char': 'ƶ', 'xkey_name': 'zstroke'},
    0x10001e7: {'char': 'ǧ', 'xkey_name': 'gcaron'},
    0x1000275: {'char': 'ɵ', 'xkey_name': 'obarred'},
    0x100018f: {'char': 'Ə', 'xkey_name': 'SCHWA'},
    0x1000259: {'char': 'ə', 'xkey_name': 'schwa'},
    0x1001e36: {'char': 'Ḷ', 'xkey_name': 'Lbelowdot'},
    0x1001e37: {'char': 'ḷ', 'xkey_name': 'lbelowdot'},
    0x1001ea0: {'char': 'Ạ', 'xkey_name': 'Abelowdot'},
    0x1001ea1: {'char': 'ạ', 'xkey_name': 'abelowdot'},
    0x1001ea2: {'char': 'Ả', 'xkey_name': 'Ahook'},
    0x1001ea3: {'char': 'ả', 'xkey_name': 'ahook'},
    0x1001ea4: {'char': 'Ấ', 'xkey_name': 'Acircumflexacute'},
    0x1001ea5: {'char': 'ấ', 'xkey_name': 'acircumflexacute'},
    0x1001ea6: {'char': 'Ầ', 'xkey_name': 'Acircumflexgrave'},
    0x1001ea7: {'char': 'ầ', 'xkey_name': 'acircumflexgrave'},
    0x1001ea8: {'char': 'Ẩ', 'xkey_name': 'Acircumflexhook'},
    0x1001ea9: {'char': 'ẩ', 'xkey_name': 'acircumflexhook'},
    0x1001eaa: {'char': 'Ẫ', 'xkey_name': 'Acircumflextilde'},
    0x1001eab: {'char': 'ẫ', 'xkey_name': 'acircumflextilde'},
    0x1001eac: {'char': 'Ậ', 'xkey_name': 'Acircumflexbelowdot'},
    0x1001ead: {'char': 'ậ', 'xkey_name': 'acircumflexbelowdot'},
    0x1001eae: {'char': 'Ắ', 'xkey_name': 'Abreveacute'},
    0x1001eaf: {'char': 'ắ', 'xkey_name': 'abreveacute'},
    0x1001eb0: {'char': 'Ằ', 'xkey_name': 'Abrevegrave'},
    0x1001eb1: {'char': 'ằ', 'xkey_name': 'abrevegrave'},
    0x1001eb2: {'char': 'Ẳ', 'xkey_name': 'Abrevehook'},
    0x1001eb3: {'char': 'ẳ', 'xkey_name': 'abrevehook'},
    0x1001eb4: {'char': 'Ẵ', 'xkey_name': 'Abrevetilde'},
    0x1001eb5: {'char': 'ẵ', 'xkey_name': 'abrevetilde'},
    0x1001eb6: {'char': 'Ặ', 'xkey_name': 'Abrevebelowdot'},
    0x1001eb7: {'char': 'ặ', 'xkey_name': 'abrevebelowdot'},
    0x1001eb8: {'char': 'Ẹ', 'xkey_name': 'Ebelowdot'},
    0x1001eb9: {'char': 'ẹ', 'xkey_name': 'ebelowdot'},
    0x1001eba: {'char': 'Ẻ', 'xkey_name': 'Ehook'},
    0x1001ebb: {'char': 'ẻ', 'xkey_name': 'ehook'},
    0x1001ebc: {'char': 'Ẽ', 'xkey_name': 'Etilde'},
    0x1001ebd: {'char': 'ẽ', 'xkey_name': 'etilde'},
    0x1001ebe: {'char': 'Ế', 'xkey_name': 'Ecircumflexacute'},
    0x1001ebf: {'char': 'ế', 'xkey_name': 'ecircumflexacute'},
    0x1001ec0: {'char': 'Ề', 'xkey_name': 'Ecircumflexgrave'},
    0x1001ec1: {'char': 'ề', 'xkey_name': 'ecircumflexgrave'},
    0x1001ec2: {'char': 'Ể', 'xkey_name': 'Ecircumflexhook'},
    0x1001ec3: {'char': 'ể', 'xkey_name': 'ecircumflexhook'},
    0x1001ec4: {'char': 'Ễ', 'xkey_name': 'Ecircumflextilde'},
    0x1001ec5: {'char': 'ễ', 'xkey_name': 'ecircumflextilde'},
    0x1001ec6: {'char': 'Ệ', 'xkey_name': 'Ecircumflexbelowdot'},
    0x1001ec7: {'char': 'ệ', 'xkey_name': 'ecircumflexbelowdot'},
    0x1001ec8: {'char': 'Ỉ', 'xkey_name': 'Ihook'},
    0x1001ec9: {'char': 'ỉ', 'xkey_name': 'ihook'},
    0x1001eca: {'char': 'Ị', 'xkey_name': 'Ibelowdot'},
    0x1001ecb: {'char': 'ị', 'xkey_name': 'ibelowdot'},
    0x1001ecc: {'char': 'Ọ', 'xkey_name': 'Obelowdot'},
    0x1001ecd: {'char': 'ọ', 'xkey_name': 'obelowdot'},
    0x1001ece: {'char': 'Ỏ', 'xkey_name': 'Ohook'},
    0x1001ecf: {'char': 'ỏ', 'xkey_name': 'ohook'},
    0x1001ed0: {'char': 'Ố', 'xkey_name': 'Ocircumflexacute'},
    0x1001ed1: {'char': 'ố', 'xkey_name': 'ocircumflexacute'},
    0x1001ed2: {'char': 'Ồ', 'xkey_name': 'Ocircumflexgrave'},
    0x1001ed3: {'char': 'ồ', 'xkey_name': 'ocircumflexgrave'},
    0x1001ed4: {'char': 'Ổ', 'xkey_name': 'Ocircumflexhook'},
    0x1001ed5: {'char': 'ổ', 'xkey_name': 'ocircumflexhook'},
    0x1001ed6: {'char': 'Ỗ', 'xkey_name': 'Ocircumflextilde'},
    0x1001ed7: {'char': 'ỗ', 'xkey_name': 'ocircumflextilde'},
    0x1001ed8: {'char': 'Ộ', 'xkey_name': 'Ocircumflexbelowdot'},
    0x1001ed9: {'char': 'ộ', 'xkey_name': 'ocircumflexbelowdot'},
    0x1001eda: {'char': 'Ớ', 'xkey_name': 'Ohornacute'},
    0x1001edb: {'char': 'ớ', 'xkey_name': 'ohornacute'},
    0x1001edc: {'char': 'Ờ', 'xkey_name': 'Ohorngrave'},
    0x1001edd: {'char': 'ờ', 'xkey_name': 'ohorngrave'},
    0x1001ede: {'char': 'Ở', 'xkey_name': 'Ohornhook'},
    0x1001edf: {'char': 'ở', 'xkey_name': 'ohornhook'},
    0x1001ee0: {'char': 'Ỡ', 'xkey_name': 'Ohorntilde'},
    0x1001ee1: {'char': 'ỡ', 'xkey_name': 'ohorntilde'},
    0x1001ee2: {'char': 'Ợ', 'xkey_name': 'Ohornbelowdot'},
    0x1001ee3: {'char': 'ợ', 'xkey_name': 'ohornbelowdot'},
    0x1001ee4: {'char': 'Ụ', 'xkey_name': 'Ubelowdot'},
    0x1001ee5: {'char': 'ụ', 'xkey_name': 'ubelowdot'},
    0x1001ee6: {'char': 'Ủ', 'xkey_name': 'Uhook'},
    0x1001ee7: {'char': 'ủ', 'xkey_name': 'uhook'},
    0x1001ee8: {'char': 'Ứ', 'xkey_name': 'Uhornacute'},
    0x1001ee9: {'char': 'ứ', 'xkey_name': 'uhornacute'},
    0x1001eea: {'char': 'Ừ', 'xkey_name': 'Uhorngrave'},
    0x1001eeb: {'char': 'ừ', 'xkey_name': 'uhorngrave'},
    0x1001eec: {'char': 'Ử', 'xkey_name': 'Uhornhook'},
    0x1001eed: {'char': 'ử', 'xkey_name': 'uhornhook'},
    0x1001eee: {'char': 'Ữ', 'xkey_name': 'Uhorntilde'},
    0x1001eef: {'char': 'ữ', 'xkey_name': 'uhorntilde'},
    0x1001ef0: {'char': 'Ự', 'xkey_name': 'Uhornbelowdot'},
    0x1001ef1: {'char': 'ự', 'xkey_name': 'uhornbelowdot'},
    0x1001ef4: {'char': 'Ỵ', 'xkey_name': 'Ybelowdot'},
    0x1001ef5: {'char': 'ỵ', 'xkey_name': 'ybelowdot'},
    0x1001ef6: {'char': 'Ỷ', 'xkey_name': 'Yhook'},
    0x1001ef7: {'char': 'ỷ', 'xkey_name': 'yhook'},
    0x1001ef8: {'char': 'Ỹ', 'xkey_name': 'Ytilde'},
    0x1001ef9: {'char': 'ỹ', 'xkey_name': 'ytilde'},
    0x10001a0: {'char': 'Ơ', 'xkey_name': 'Ohorn'},
    0x10001a1: {'char': 'ơ', 'xkey_name': 'ohorn'},
    0x10001af: {'char': 'Ư', 'xkey_name': 'Uhorn'},
    0x10001b0: {'char': 'ư', 'xkey_name': 'uhorn'},
    0x10020a0: {'char': '₠', 'xkey_name': 'EcuSign'},
    0x10020a1: {'char': '₡', 'xkey_name': 'ColonSign'},
    0x10020a2: {'char': '₢', 'xkey_name': 'CruzeiroSign'},
    0x10020a3: {'char': '₣', 'xkey_name': 'FFrancSign'},
    0x10020a4: {'char': '₤', 'xkey_name': 'LiraSign'},
    0x10020a5: {'char': '₥', 'xkey_name': 'MillSign'},
    0x10020a6: {'char': '₦', 'xkey_name': 'NairaSign'},
    0x10020a7: {'char': '₧', 'xkey_name': 'PesetaSign'},
    0x10020a8: {'char': '₨', 'xkey_name': 'RupeeSign'},
    0x10020a9: {'char': '₩', 'xkey_name': 'WonSign'},
    0x10020aa: {'char': '₪', 'xkey_name': 'NewSheqelSign'},
    0x10020ab: {'char': '₫', 'xkey_name': 'DongSign'},
    0x20ac:    {'char': '€', 'xkey_name': 'EuroSign'},
    0x1002070: {'char': '⁰', 'xkey_name': 'zerosuperior'},
    0x1002074: {'char': '⁴', 'xkey_name': 'foursuperior'},
    0x1002075: {'char': '⁵', 'xkey_name': 'fivesuperior'},
    0x1002076: {'char': '⁶', 'xkey_name': 'sixsuperior'},
    0x1002077: {'char': '⁷', 'xkey_name': 'sevensuperior'},
    0x1002078: {'char': '⁸', 'xkey_name': 'eightsuperior'},
    0x1002079: {'char': '⁹', 'xkey_name': 'ninesuperior'},
    0x1002080: {'char': '₀', 'xkey_name': 'zerosubscript'},
    0x1002081: {'char': '₁', 'xkey_name': 'onesubscript'},
    0x1002082: {'char': '₂', 'xkey_name': 'twosubscript'},
    0x1002083: {'char': '₃', 'xkey_name': 'threesubscript'},
    0x1002084: {'char': '₄', 'xkey_name': 'foursubscript'},
    0x1002085: {'char': '₅', 'xkey_name': 'fivesubscript'},
    0x1002086: {'char': '₆', 'xkey_name': 'sixsubscript'},
    0x1002087: {'char': '₇', 'xkey_name': 'sevensubscript'},
    0x1002088: {'char': '₈', 'xkey_name': 'eightsubscript'},
    0x1002089: {'char': '₉', 'xkey_name': 'ninesubscript'},
    0x1002202: {'char': '∂', 'xkey_name': 'partdifferential'},
    0x1002205: {'char': '∅', 'xkey_name': 'emptyset'},
    0x1002208: {'char': '∈', 'xkey_name': 'elementof'},
    0x1002209: {'char': '∉', 'xkey_name': 'notelementof'},
    0x100220b: {'char': '∋', 'xkey_name': 'containsas'},
    0x100221a: {'char': '√', 'xkey_name': 'squareroot'},
    0x100221b: {'char': '∛', 'xkey_name': 'cuberoot'},
    0x100221c: {'char': '∜', 'xkey_name': 'fourthroot'},
    0x100222c: {'char': '∬', 'xkey_name': 'dintegral'},
    0x100222d: {'char': '∭', 'xkey_name': 'tintegral'},
    0x1002235: {'char': '∵', 'xkey_name': 'because'},
    0x1002248: {'char': '≈', 'xkey_name': 'approxeq'},
    0x1002247: {'char': '≇', 'xkey_name': 'notapproxeq'},
    0x1002262: {'char': '≢', 'xkey_name': 'notidentical'},
    0x1002263: {'char': '≣', 'xkey_name': 'stricteq'},
    0x1002800: {'char': '⠀', 'xkey_name': 'braille_blank'},
    0x1002801: {'char': '⠁', 'xkey_name': 'braille_dots_1'},
    0x1002802: {'char': '⠂', 'xkey_name': 'braille_dots_2'},
    0x1002803: {'char': '⠃', 'xkey_name': 'braille_dots_12'},
    0x1002804: {'char': '⠄', 'xkey_name': 'braille_dots_3'},
    0x1002805: {'char': '⠅', 'xkey_name': 'braille_dots_13'},
    0x1002806: {'char': '⠆', 'xkey_name': 'braille_dots_23'},
    0x1002807: {'char': '⠇', 'xkey_name': 'braille_dots_123'},
    0x1002808: {'char': '⠈', 'xkey_name': 'braille_dots_4'},
    0x1002809: {'char': '⠉', 'xkey_name': 'braille_dots_14'},
    0x100280a: {'char': '⠊', 'xkey_name': 'braille_dots_24'},
    0x100280b: {'char': '⠋', 'xkey_name': 'braille_dots_124'},
    0x100280c: {'char': '⠌', 'xkey_name': 'braille_dots_34'},
    0x100280d: {'char': '⠍', 'xkey_name': 'braille_dots_134'},
    0x100280e: {'char': '⠎', 'xkey_name': 'braille_dots_234'},
    0x100280f: {'char': '⠏', 'xkey_name': 'braille_dots_1234'},
    0x1002810: {'char': '⠐', 'xkey_name': 'braille_dots_5'},
    0x1002811: {'char': '⠑', 'xkey_name': 'braille_dots_15'},
    0x1002812: {'char': '⠒', 'xkey_name': 'braille_dots_25'},
    0x1002813: {'char': '⠓', 'xkey_name': 'braille_dots_125'},
    0x1002814: {'char': '⠔', 'xkey_name': 'braille_dots_35'},
    0x1002815: {'char': '⠕', 'xkey_name': 'braille_dots_135'},
    0x1002816: {'char': '⠖', 'xkey_name': 'braille_dots_235'},
    0x1002817: {'char': '⠗', 'xkey_name': 'braille_dots_1235'},
    0x1002818: {'char': '⠘', 'xkey_name': 'braille_dots_45'},
    0x1002819: {'char': '⠙', 'xkey_name': 'braille_dots_145'},
    0x100281a: {'char': '⠚', 'xkey_name': 'braille_dots_245'},
    0x100281b: {'char': '⠛', 'xkey_name': 'braille_dots_1245'},
    0x100281c: {'char': '⠜', 'xkey_name': 'braille_dots_345'},
    0x100281d: {'char': '⠝', 'xkey_name': 'braille_dots_1345'},
    0x100281e: {'char': '⠞', 'xkey_name': 'braille_dots_2345'},
    0x100281f: {'char': '⠟', 'xkey_name': 'braille_dots_12345'},
    0x1002820: {'char': '⠠', 'xkey_name': 'braille_dots_6'},
    0x1002821: {'char': '⠡', 'xkey_name': 'braille_dots_16'},
    0x1002822: {'char': '⠢', 'xkey_name': 'braille_dots_26'},
    0x1002823: {'char': '⠣', 'xkey_name': 'braille_dots_126'},
    0x1002824: {'char': '⠤', 'xkey_name': 'braille_dots_36'},
    0x1002825: {'char': '⠥', 'xkey_name': 'braille_dots_136'},
    0x1002826: {'char': '⠦', 'xkey_name': 'braille_dots_236'},
    0x1002827: {'char': '⠧', 'xkey_name': 'braille_dots_1236'},
    0x1002828: {'char': '⠨', 'xkey_name': 'braille_dots_46'},
    0x1002829: {'char': '⠩', 'xkey_name': 'braille_dots_146'},
    0x100282a: {'char': '⠪', 'xkey_name': 'braille_dots_246'},
    0x100282b: {'char': '⠫', 'xkey_name': 'braille_dots_1246'},
    0x100282c: {'char': '⠬', 'xkey_name': 'braille_dots_346'},
    0x100282d: {'char': '⠭', 'xkey_name': 'braille_dots_1346'},
    0x100282e: {'char': '⠮', 'xkey_name': 'braille_dots_2346'},
    0x100282f: {'char': '⠯', 'xkey_name': 'braille_dots_12346'},
    0x1002830: {'char': '⠰', 'xkey_name': 'braille_dots_56'},
    0x1002831: {'char': '⠱', 'xkey_name': 'braille_dots_156'},
    0x1002832: {'char': '⠲', 'xkey_name': 'braille_dots_256'},
    0x1002833: {'char': '⠳', 'xkey_name': 'braille_dots_1256'},
    0x1002834: {'char': '⠴', 'xkey_name': 'braille_dots_356'},
    0x1002835: {'char': '⠵', 'xkey_name': 'braille_dots_1356'},
    0x1002836: {'char': '⠶', 'xkey_name': 'braille_dots_2356'},
    0x1002837: {'char': '⠷', 'xkey_name': 'braille_dots_12356'},
    0x1002838: {'char': '⠸', 'xkey_name': 'braille_dots_456'},
    0x1002839: {'char': '⠹', 'xkey_name': 'braille_dots_1456'},
    0x100283a: {'char': '⠺', 'xkey_name': 'braille_dots_2456'},
    0x100283b: {'char': '⠻', 'xkey_name': 'braille_dots_12456'},
    0x100283c: {'char': '⠼', 'xkey_name': 'braille_dots_3456'},
    0x100283d: {'char': '⠽', 'xkey_name': 'braille_dots_13456'},
    0x100283e: {'char': '⠾', 'xkey_name': 'braille_dots_23456'},
    0x100283f: {'char': '⠿', 'xkey_name': 'braille_dots_123456'},
    0x1002840: {'char': '⡀', 'xkey_name': 'braille_dots_7'},
    0x1002841: {'char': '⡁', 'xkey_name': 'braille_dots_17'},
    0x1002842: {'char': '⡂', 'xkey_name': 'braille_dots_27'},
    0x1002843: {'char': '⡃', 'xkey_name': 'braille_dots_127'},
    0x1002844: {'char': '⡄', 'xkey_name': 'braille_dots_37'},
    0x1002845: {'char': '⡅', 'xkey_name': 'braille_dots_137'},
    0x1002846: {'char': '⡆', 'xkey_name': 'braille_dots_237'},
    0x1002847: {'char': '⡇', 'xkey_name': 'braille_dots_1237'},
    0x1002848: {'char': '⡈', 'xkey_name': 'braille_dots_47'},
    0x1002849: {'char': '⡉', 'xkey_name': 'braille_dots_147'},
    0x100284a: {'char': '⡊', 'xkey_name': 'braille_dots_247'},
    0x100284b: {'char': '⡋', 'xkey_name': 'braille_dots_1247'},
    0x100284c: {'char': '⡌', 'xkey_name': 'braille_dots_347'},
    0x100284d: {'char': '⡍', 'xkey_name': 'braille_dots_1347'},
    0x100284e: {'char': '⡎', 'xkey_name': 'braille_dots_2347'},
    0x100284f: {'char': '⡏', 'xkey_name': 'braille_dots_12347'},
    0x1002850: {'char': '⡐', 'xkey_name': 'braille_dots_57'},
    0x1002851: {'char': '⡑', 'xkey_name': 'braille_dots_157'},
    0x1002852: {'char': '⡒', 'xkey_name': 'braille_dots_257'},
    0x1002853: {'char': '⡓', 'xkey_name': 'braille_dots_1257'},
    0x1002854: {'char': '⡔', 'xkey_name': 'braille_dots_357'},
    0x1002855: {'char': '⡕', 'xkey_name': 'braille_dots_1357'},
    0x1002856: {'char': '⡖', 'xkey_name': 'braille_dots_2357'},
    0x1002857: {'char': '⡗', 'xkey_name': 'braille_dots_12357'},
    0x1002858: {'char': '⡘', 'xkey_name': 'braille_dots_457'},
    0x1002859: {'char': '⡙', 'xkey_name': 'braille_dots_1457'},
    0x100285a: {'char': '⡚', 'xkey_name': 'braille_dots_2457'},
    0x100285b: {'char': '⡛', 'xkey_name': 'braille_dots_12457'},
    0x100285c: {'char': '⡜', 'xkey_name': 'braille_dots_3457'},
    0x100285d: {'char': '⡝', 'xkey_name': 'braille_dots_13457'},
    0x100285e: {'char': '⡞', 'xkey_name': 'braille_dots_23457'},
    0x100285f: {'char': '⡟', 'xkey_name': 'braille_dots_123457'},
    0x1002860: {'char': '⡠', 'xkey_name': 'braille_dots_67'},
    0x1002861: {'char': '⡡', 'xkey_name': 'braille_dots_167'},
    0x1002862: {'char': '⡢', 'xkey_name': 'braille_dots_267'},
    0x1002863: {'char': '⡣', 'xkey_name': 'braille_dots_1267'},
    0x1002864: {'char': '⡤', 'xkey_name': 'braille_dots_367'},
    0x1002865: {'char': '⡥', 'xkey_name': 'braille_dots_1367'},
    0x1002866: {'char': '⡦', 'xkey_name': 'braille_dots_2367'},
    0x1002867: {'char': '⡧', 'xkey_name': 'braille_dots_12367'},
    0x1002868: {'char': '⡨', 'xkey_name': 'braille_dots_467'},
    0x1002869: {'char': '⡩', 'xkey_name': 'braille_dots_1467'},
    0x100286a: {'char': '⡪', 'xkey_name': 'braille_dots_2467'},
    0x100286b: {'char': '⡫', 'xkey_name': 'braille_dots_12467'},
    0x100286c: {'char': '⡬', 'xkey_name': 'braille_dots_3467'},
    0x100286d: {'char': '⡭', 'xkey_name': 'braille_dots_13467'},
    0x100286e: {'char': '⡮', 'xkey_name': 'braille_dots_23467'},
    0x100286f: {'char': '⡯', 'xkey_name': 'braille_dots_123467'},
    0x1002870: {'char': '⡰', 'xkey_name': 'braille_dots_567'},
    0x1002871: {'char': '⡱', 'xkey_name': 'braille_dots_1567'},
    0x1002872: {'char': '⡲', 'xkey_name': 'braille_dots_2567'},
    0x1002873: {'char': '⡳', 'xkey_name': 'braille_dots_12567'},
    0x1002874: {'char': '⡴', 'xkey_name': 'braille_dots_3567'},
    0x1002875: {'char': '⡵', 'xkey_name': 'braille_dots_13567'},
    0x1002876: {'char': '⡶', 'xkey_name': 'braille_dots_23567'},
    0x1002877: {'char': '⡷', 'xkey_name': 'braille_dots_123567'},
    0x1002878: {'char': '⡸', 'xkey_name': 'braille_dots_4567'},
    0x1002879: {'char': '⡹', 'xkey_name': 'braille_dots_14567'},
    0x100287a: {'char': '⡺', 'xkey_name': 'braille_dots_24567'},
    0x100287b: {'char': '⡻', 'xkey_name': 'braille_dots_124567'},
    0x100287c: {'char': '⡼', 'xkey_name': 'braille_dots_34567'},
    0x100287d: {'char': '⡽', 'xkey_name': 'braille_dots_134567'},
    0x100287e: {'char': '⡾', 'xkey_name': 'braille_dots_234567'},
    0x100287f: {'char': '⡿', 'xkey_name': 'braille_dots_1234567'},
    0x1002880: {'char': '⢀', 'xkey_name': 'braille_dots_8'},
    0x1002881: {'char': '⢁', 'xkey_name': 'braille_dots_18'},
    0x1002882: {'char': '⢂', 'xkey_name': 'braille_dots_28'},
    0x1002883: {'char': '⢃', 'xkey_name': 'braille_dots_128'},
    0x1002884: {'char': '⢄', 'xkey_name': 'braille_dots_38'},
    0x1002885: {'char': '⢅', 'xkey_name': 'braille_dots_138'},
    0x1002886: {'char': '⢆', 'xkey_name': 'braille_dots_238'},
    0x1002887: {'char': '⢇', 'xkey_name': 'braille_dots_1238'},
    0x1002888: {'char': '⢈', 'xkey_name': 'braille_dots_48'},
    0x1002889: {'char': '⢉', 'xkey_name': 'braille_dots_148'},
    0x100288a: {'char': '⢊', 'xkey_name': 'braille_dots_248'},
    0x100288b: {'char': '⢋', 'xkey_name': 'braille_dots_1248'},
    0x100288c: {'char': '⢌', 'xkey_name': 'braille_dots_348'},
    0x100288d: {'char': '⢍', 'xkey_name': 'braille_dots_1348'},
    0x100288e: {'char': '⢎', 'xkey_name': 'braille_dots_2348'},
    0x100288f: {'char': '⢏', 'xkey_name': 'braille_dots_12348'},
    0x1002890: {'char': '⢐', 'xkey_name': 'braille_dots_58'},
    0x1002891: {'char': '⢑', 'xkey_name': 'braille_dots_158'},
    0x1002892: {'char': '⢒', 'xkey_name': 'braille_dots_258'},
    0x1002893: {'char': '⢓', 'xkey_name': 'braille_dots_1258'},
    0x1002894: {'char': '⢔', 'xkey_name': 'braille_dots_358'},
    0x1002895: {'char': '⢕', 'xkey_name': 'braille_dots_1358'},
    0x1002896: {'char': '⢖', 'xkey_name': 'braille_dots_2358'},
    0x1002897: {'char': '⢗', 'xkey_name': 'braille_dots_12358'},
    0x1002898: {'char': '⢘', 'xkey_name': 'braille_dots_458'},
    0x1002899: {'char': '⢙', 'xkey_name': 'braille_dots_1458'},
    0x100289a: {'char': '⢚', 'xkey_name': 'braille_dots_2458'},
    0x100289b: {'char': '⢛', 'xkey_name': 'braille_dots_12458'},
    0x100289c: {'char': '⢜', 'xkey_name': 'braille_dots_3458'},
    0x100289d: {'char': '⢝', 'xkey_name': 'braille_dots_13458'},
    0x100289e: {'char': '⢞', 'xkey_name': 'braille_dots_23458'},
    0x100289f: {'char': '⢟', 'xkey_name': 'braille_dots_123458'},
    0x10028a0: {'char': '⢠', 'xkey_name': 'braille_dots_68'},
    0x10028a1: {'char': '⢡', 'xkey_name': 'braille_dots_168'},
    0x10028a2: {'char': '⢢', 'xkey_name': 'braille_dots_268'},
    0x10028a3: {'char': '⢣', 'xkey_name': 'braille_dots_1268'},
    0x10028a4: {'char': '⢤', 'xkey_name': 'braille_dots_368'},
    0x10028a5: {'char': '⢥', 'xkey_name': 'braille_dots_1368'},
    0x10028a6: {'char': '⢦', 'xkey_name': 'braille_dots_2368'},
    0x10028a7: {'char': '⢧', 'xkey_name': 'braille_dots_12368'},
    0x10028a8: {'char': '⢨', 'xkey_name': 'braille_dots_468'},
    0x10028a9: {'char': '⢩', 'xkey_name': 'braille_dots_1468'},
    0x10028aa: {'char': '⢪', 'xkey_name': 'braille_dots_2468'},
    0x10028ab: {'char': '⢫', 'xkey_name': 'braille_dots_12468'},
    0x10028ac: {'char': '⢬', 'xkey_name': 'braille_dots_3468'},
    0x10028ad: {'char': '⢭', 'xkey_name': 'braille_dots_13468'},
    0x10028ae: {'char': '⢮', 'xkey_name': 'braille_dots_23468'},
    0x10028af: {'char': '⢯', 'xkey_name': 'braille_dots_123468'},
    0x10028b0: {'char': '⢰', 'xkey_name': 'braille_dots_568'},
    0x10028b1: {'char': '⢱', 'xkey_name': 'braille_dots_1568'},
    0x10028b2: {'char': '⢲', 'xkey_name': 'braille_dots_2568'},
    0x10028b3: {'char': '⢳', 'xkey_name': 'braille_dots_12568'},
    0x10028b4: {'char': '⢴', 'xkey_name': 'braille_dots_3568'},
    0x10028b5: {'char': '⢵', 'xkey_name': 'braille_dots_13568'},
    0x10028b6: {'char': '⢶', 'xkey_name': 'braille_dots_23568'},
    0x10028b7: {'char': '⢷', 'xkey_name': 'braille_dots_123568'},
    0x10028b8: {'char': '⢸', 'xkey_name': 'braille_dots_4568'},
    0x10028b9: {'char': '⢹', 'xkey_name': 'braille_dots_14568'},
    0x10028ba: {'char': '⢺', 'xkey_name': 'braille_dots_24568'},
    0x10028bb: {'char': '⢻', 'xkey_name': 'braille_dots_124568'},
    0x10028bc: {'char': '⢼', 'xkey_name': 'braille_dots_34568'},
    0x10028bd: {'char': '⢽', 'xkey_name': 'braille_dots_134568'},
    0x10028be: {'char': '⢾', 'xkey_name': 'braille_dots_234568'},
    0x10028bf: {'char': '⢿', 'xkey_name': 'braille_dots_1234568'},
    0x10028c0: {'char': '⣀', 'xkey_name': 'braille_dots_78'},
    0x10028c1: {'char': '⣁', 'xkey_name': 'braille_dots_178'},
    0x10028c2: {'char': '⣂', 'xkey_name': 'braille_dots_278'},
    0x10028c3: {'char': '⣃', 'xkey_name': 'braille_dots_1278'},
    0x10028c4: {'char': '⣄', 'xkey_name': 'braille_dots_378'},
    0x10028c5: {'char': '⣅', 'xkey_name': 'braille_dots_1378'},
    0x10028c6: {'char': '⣆', 'xkey_name': 'braille_dots_2378'},
    0x10028c7: {'char': '⣇', 'xkey_name': 'braille_dots_12378'},
    0x10028c8: {'char': '⣈', 'xkey_name': 'braille_dots_478'},
    0x10028c9: {'char': '⣉', 'xkey_name': 'braille_dots_1478'},
    0x10028ca: {'char': '⣊', 'xkey_name': 'braille_dots_2478'},
    0x10028cb: {'char': '⣋', 'xkey_name': 'braille_dots_12478'},
    0x10028cc: {'char': '⣌', 'xkey_name': 'braille_dots_3478'},
    0x10028cd: {'char': '⣍', 'xkey_name': 'braille_dots_13478'},
    0x10028ce: {'char': '⣎', 'xkey_name': 'braille_dots_23478'},
    0x10028cf: {'char': '⣏', 'xkey_name': 'braille_dots_123478'},
    0x10028d0: {'char': '⣐', 'xkey_name': 'braille_dots_578'},
    0x10028d1: {'char': '⣑', 'xkey_name': 'braille_dots_1578'},
    0x10028d2: {'char': '⣒', 'xkey_name': 'braille_dots_2578'},
    0x10028d3: {'char': '⣓', 'xkey_name': 'braille_dots_12578'},
    0x10028d4: {'char': '⣔', 'xkey_name': 'braille_dots_3578'},
    0x10028d5: {'char': '⣕', 'xkey_name': 'braille_dots_13578'},
    0x10028d6: {'char': '⣖', 'xkey_name': 'braille_dots_23578'},
    0x10028d7: {'char': '⣗', 'xkey_name': 'braille_dots_123578'},
    0x10028d8: {'char': '⣘', 'xkey_name': 'braille_dots_4578'},
    0x10028d9: {'char': '⣙', 'xkey_name': 'braille_dots_14578'},
    0x10028da: {'char': '⣚', 'xkey_name': 'braille_dots_24578'},
    0x10028db: {'char': '⣛', 'xkey_name': 'braille_dots_124578'},
    0x10028dc: {'char': '⣜', 'xkey_name': 'braille_dots_34578'},
    0x10028dd: {'char': '⣝', 'xkey_name': 'braille_dots_134578'},
    0x10028de: {'char': '⣞', 'xkey_name': 'braille_dots_234578'},
    0x10028df: {'char': '⣟', 'xkey_name': 'braille_dots_1234578'},
    0x10028e0: {'char': '⣠', 'xkey_name': 'braille_dots_678'},
    0x10028e1: {'char': '⣡', 'xkey_name': 'braille_dots_1678'},
    0x10028e2: {'char': '⣢', 'xkey_name': 'braille_dots_2678'},
    0x10028e3: {'char': '⣣', 'xkey_name': 'braille_dots_12678'},
    0x10028e4: {'char': '⣤', 'xkey_name': 'braille_dots_3678'},
    0x10028e5: {'char': '⣥', 'xkey_name': 'braille_dots_13678'},
    0x10028e6: {'char': '⣦', 'xkey_name': 'braille_dots_23678'},
    0x10028e7: {'char': '⣧', 'xkey_name': 'braille_dots_123678'},
    0x10028e8: {'char': '⣨', 'xkey_name': 'braille_dots_4678'},
    0x10028e9: {'char': '⣩', 'xkey_name': 'braille_dots_14678'},
    0x10028ea: {'char': '⣪', 'xkey_name': 'braille_dots_24678'},
    0x10028eb: {'char': '⣫', 'xkey_name': 'braille_dots_124678'},
    0x10028ec: {'char': '⣬', 'xkey_name': 'braille_dots_34678'},
    0x10028ed: {'char': '⣭', 'xkey_name': 'braille_dots_134678'},
    0x10028ee: {'char': '⣮', 'xkey_name': 'braille_dots_234678'},
    0x10028ef: {'char': '⣯', 'xkey_name': 'braille_dots_1234678'},
    0x10028f0: {'char': '⣰', 'xkey_name': 'braille_dots_5678'},
    0x10028f1: {'char': '⣱', 'xkey_name': 'braille_dots_15678'},
    0x10028f2: {'char': '⣲', 'xkey_name': 'braille_dots_25678'},
    0x10028f3: {'char': '⣳', 'xkey_name': 'braille_dots_125678'},
    0x10028f4: {'char': '⣴', 'xkey_name': 'braille_dots_35678'},
    0x10028f5: {'char': '⣵', 'xkey_name': 'braille_dots_135678'},
    0x10028f6: {'char': '⣶', 'xkey_name': 'braille_dots_235678'},
    0x10028f7: {'char': '⣷', 'xkey_name': 'braille_dots_1235678'},
    0x10028f8: {'char': '⣸', 'xkey_name': 'braille_dots_45678'},
    0x10028f9: {'char': '⣹', 'xkey_name': 'braille_dots_145678'},
    0x10028fa: {'char': '⣺', 'xkey_name': 'braille_dots_245678'},
    0x10028fb: {'char': '⣻', 'xkey_name': 'braille_dots_1245678'},
    0x10028fc: {'char': '⣼', 'xkey_name': 'braille_dots_345678'},
    0x10028fd: {'char': '⣽', 'xkey_name': 'braille_dots_1345678'},
    0x10028fe: {'char': '⣾', 'xkey_name': 'braille_dots_2345678'},
    0x10028ff: {'char': '⣿', 'xkey_name': 'braille_dots_12345678'},
    0x1000d82: {'char': 'ං', 'xkey_name': 'Sinh_ng'},
    0x1000d83: {'char': 'ඃ', 'xkey_name': 'Sinh_h2'},
    0x1000d85: {'char': 'අ', 'xkey_name': 'Sinh_a'},
    0x1000d86: {'char': 'ආ', 'xkey_name': 'Sinh_aa'},
    0x1000d87: {'char': 'ඇ', 'xkey_name': 'Sinh_ae'},
    0x1000d88: {'char': 'ඈ', 'xkey_name': 'Sinh_aee'},
    0x1000d89: {'char': 'ඉ', 'xkey_name': 'Sinh_i'},
    0x1000d8a: {'char': 'ඊ', 'xkey_name': 'Sinh_ii'},
    0x1000d8b: {'char': 'උ', 'xkey_name': 'Sinh_u'},
    0x1000d8c: {'char': 'ඌ', 'xkey_name': 'Sinh_uu'},
    0x1000d8d: {'char': 'ඍ', 'xkey_name': 'Sinh_ri'},
    0x1000d8e: {'char': 'ඎ', 'xkey_name': 'Sinh_rii'},
    0x1000d8f: {'char': 'ඏ', 'xkey_name': 'Sinh_lu'},
    0x1000d90: {'char': 'ඐ', 'xkey_name': 'Sinh_luu'},
    0x1000d91: {'char': 'එ', 'xkey_name': 'Sinh_e'},
    0x1000d92: {'char': 'ඒ', 'xkey_name': 'Sinh_ee'},
    0x1000d93: {'char': 'ඓ', 'xkey_name': 'Sinh_ai'},
    0x1000d94: {'char': 'ඔ', 'xkey_name': 'Sinh_o'},
    0x1000d95: {'char': 'ඕ', 'xkey_name': 'Sinh_oo'},
    0x1000d96: {'char': 'ඖ', 'xkey_name': 'Sinh_au'},
    0x1000d9a: {'char': 'ක', 'xkey_name': 'Sinh_ka'},
    0x1000d9b: {'char': 'ඛ', 'xkey_name': 'Sinh_kha'},
    0x1000d9c: {'char': 'ග', 'xkey_name': 'Sinh_ga'},
    0x1000d9d: {'char': 'ඝ', 'xkey_name': 'Sinh_gha'},
    0x1000d9e: {'char': 'ඞ', 'xkey_name': 'Sinh_ng2'},
    0x1000d9f: {'char': 'ඟ', 'xkey_name': 'Sinh_nga'},
    0x1000da0: {'char': 'ච', 'xkey_name': 'Sinh_ca'},
    0x1000da1: {'char': 'ඡ', 'xkey_name': 'Sinh_cha'},
    0x1000da2: {'char': 'ජ', 'xkey_name': 'Sinh_ja'},
    0x1000da3: {'char': 'ඣ', 'xkey_name': 'Sinh_jha'},
    0x1000da4: {'char': 'ඤ', 'xkey_name': 'Sinh_nya'},
    0x1000da5: {'char': 'ඥ', 'xkey_name': 'Sinh_jnya'},
    0x1000da6: {'char': 'ඦ', 'xkey_name': 'Sinh_nja'},
    0x1000da7: {'char': 'ට', 'xkey_name': 'Sinh_tta'},
    0x1000da8: {'char': 'ඨ', 'xkey_name': 'Sinh_ttha'},
    0x1000da9: {'char': 'ඩ', 'xkey_name': 'Sinh_dda'},
    0x1000daa: {'char': 'ඪ', 'xkey_name': 'Sinh_ddha'},
    0x1000dab: {'char': 'ණ', 'xkey_name': 'Sinh_nna'},
    0x1000dac: {'char': 'ඬ', 'xkey_name': 'Sinh_ndda'},
    0x1000dad: {'char': 'ත', 'xkey_name': 'Sinh_tha'},
    0x1000dae: {'char': 'ථ', 'xkey_name': 'Sinh_thha'},
    0x1000daf: {'char': 'ද', 'xkey_name': 'Sinh_dha'},
    0x1000db0: {'char': 'ධ', 'xkey_name': 'Sinh_dhha'},
    0x1000db1: {'char': 'න', 'xkey_name': 'Sinh_na'},
    0x1000db3: {'char': 'ඳ', 'xkey_name': 'Sinh_ndha'},
    0x1000db4: {'char': 'ප', 'xkey_name': 'Sinh_pa'},
    0x1000db5: {'char': 'ඵ', 'xkey_name': 'Sinh_pha'},
    0x1000db6: {'char': 'බ', 'xkey_name': 'Sinh_ba'},
    0x1000db7: {'char': 'භ', 'xkey_name': 'Sinh_bha'},
    0x1000db8: {'char': 'ම', 'xkey_name': 'Sinh_ma'},
    0x1000db9: {'char': 'ඹ', 'xkey_name': 'Sinh_mba'},
    0x1000dba: {'char': 'ය', 'xkey_name': 'Sinh_ya'},
    0x1000dbb: {'char': 'ර', 'xkey_name': 'Sinh_ra'},
    0x1000dbd: {'char': 'ල', 'xkey_name': 'Sinh_la'},
    0x1000dc0: {'char': 'ව', 'xkey_name': 'Sinh_va'},
    0x1000dc1: {'char': 'ශ', 'xkey_name': 'Sinh_sha'},
    0x1000dc2: {'char': 'ෂ', 'xkey_name': 'Sinh_ssha'},
    0x1000dc3: {'char': 'ස', 'xkey_name': 'Sinh_sa'},
    0x1000dc4: {'char': 'හ', 'xkey_name': 'Sinh_ha'},
    0x1000dc5: {'char': 'ළ', 'xkey_name': 'Sinh_lla'},
    0x1000dc6: {'char': 'ෆ', 'xkey_name': 'Sinh_fa'},
    0x1000dca: {'char': '්', 'xkey_name': 'Sinh_al'},
    0x1000dcf: {'char': 'ා', 'xkey_name': 'Sinh_aa2'},
    0x1000dd0: {'char': 'ැ', 'xkey_name': 'Sinh_ae2'},
    0x1000dd1: {'char': 'ෑ', 'xkey_name': 'Sinh_aee2'},
    0x1000dd2: {'char': 'ි', 'xkey_name': 'Sinh_i2'},
    0x1000dd3: {'char': 'ී', 'xkey_name': 'Sinh_ii2'},
    0x1000dd4: {'char': 'ු', 'xkey_name': 'Sinh_u2'},
    0x1000dd6: {'char': 'ූ', 'xkey_name': 'Sinh_uu2'},
    0x1000dd8: {'char': 'ෘ', 'xkey_name': 'Sinh_ru2'},
    0x1000dd9: {'char': 'ෙ', 'xkey_name': 'Sinh_e2'},
    0x1000dda: {'char': 'ේ', 'xkey_name': 'Sinh_ee2'},
    0x1000ddb: {'char': 'ෛ', 'xkey_name': 'Sinh_ai2'},
    0x1000ddc: {'char': 'ො', 'xkey_name': 'Sinh_o2'},
    0x1000ddd: {'char': 'ෝ', 'xkey_name': 'Sinh_oo2'},
    0x1000dde: {'char': 'ෞ', 'xkey_name': 'Sinh_au2'},
    0x1000ddf: {'char': 'ෟ', 'xkey_name': 'Sinh_lu2'},
    0x1000df2: {'char': 'ෲ', 'xkey_name': 'Sinh_ruu2'},
    0x1000df3: {'char': 'ෳ', 'xkey_name': 'Sinh_luu2'},
    0x1000df4: {'char': '෴', 'xkey_name': 'Sinh_kunddaliya'},
}
